當前位置:編程學習大全網 - 編程軟體 - Write a program that reads an integer n and displays all its smallest factors. :

Write a program that reads an integer n and displays all its smallest factors. :

這個代碼不僅是運行要超過1秒,而且在求出所有質數後就進入了死循環!以輸入120為例,當最後a=5、n=5時進入if(a%n==0),執行a=a/n;使a==1,然後經n=1,再n++使n=2,返回while(a!=0)後因a=1而繼續循環。以後1除以任何大於1的數都不整除,所以n壹直經n++增1,而a=1不變。這樣就成了死循環。可以這樣改:

int?main(void){

int?a;

cin>>a;

int?n=2;

//while(a!=0){

while(a!=1){

if(a%n==0){

cout<<n<<endl;

a=a/n;

//n=1;

}

//n++;

else?n++;

}

return?0;

}

  • 上一篇:網易雲下載音樂格式如何轉換mp3
  • 下一篇:學寶網課怎麽樣,學寶app怎麽樣靠譜嗎
  • copyright 2024編程學習大全網