1樓:高金山
if(m%k!=0),說明還沒找到因數,每次都是從2開始,逐漸遞增,來找因數的
else,else部分,說明已經找到了因數,找到因數以後,先把因數列印出來,然後讓m等於被除後的數,讓k=2,也就是從2開始,繼續遞增找其他的因數啊
舉個例子,你就明白了,比如15,你要對它進行分解質因數,該怎麼做呢
先讓k=2,發現15%2!=0了,說明2不是它的因數,讓k++
k=3的時候,發現15%3==0了,說明3是它的一個因數,列印出3,讓m=15/3=5,讓k=2
5%2!=0,5%3!=0,5%4!=0,說明2,3,4,都不是5的因數,k繼續自加
k=5,5%5==0了,說明5是5的因數,所以,列印5,m=5/5=1,k=2,這時,就會退出for迴圈了
逐行分析,見下面:
if(m%k!=0) //m不能被k整除,說明k不是m的因數
else //m不能被k整除,說明k是m的一個因數
2樓:匿名使用者
#include
void main()
else
} printf("%d",k);}
3樓:九天之鳳舞
if(m%k!=0)
這句話的意思就是說當k不是m的約數時,繼續找下一個k(即比k多1的數),判斷它是否是m的約數,是則輸出不是則繼續判斷下一個。
k=2; //讓k重新等於2
這個的意思是一個數如果找到了一個約數(比如2), 那麼找下一個約數之前仍然應該從2開始找,因為他可能仍有2這個質因子,比如24=2*2*2*3,第一次找到2,第二次仍然要從2開始判斷它是不是24的約數。
有不明白的地方再提出來吧~
4樓:逃離
if(m%k!=0)
m=m/k; //這個程式應該是版
要輸出權,一個數包含哪幾個因子,所以要判斷除最小質因子後,那個數還有幾個因子。
k=2; //讓k重新等於2
} }printf("%d",k); //最後是輸出小於m=m/k 後k的值 例如12=2*2*3 那個3 因為那時的m=3 k=3 不滿足k 5樓:匿名使用者 #include void main() else i++; }printf("\b \b");} 6樓:匿名使用者 #include "stdio.h" int main() printf("%d\n\n",j); }i+=1; }}while(n>0);} 7樓: #include int fenjie(heshu) else }return 0; }int main() } if (isprime==1) return 0;} 8樓:匿名使用者 #include #include #include int main() ;scanf("%d",&n); if(n<=1) exit(0); else if(n==2) else } } } return 0; }這個是算bai比較小du的數 大概思路就zhi是先篩選dao出質數專 集在遞迴從小屬到大除 9樓:慕容玄豫 #include "stdio.h" void main() else }else i++;}} 10樓:匿名使用者 這最佳答案輸出結果連x都沒有也能成最佳? 11樓:星月小木木 實現bai方du法zhi如dao下內:容 #include void main( ) else i++;}} 12樓:匿名使用者 if((n%i==0)&&(i!=n)) 這個來地方,i作為n的因數不一定只源出現一次所以bai 應該用duwhile迴圈,讓n=n/i直到無法除盡,zhi否則可能影響後面的因子 if((n%i==0)&&(i!dao=n)) 13樓:冰封莊子 分解質因數,就是來 將一個合數自分解成幾個質數的乘積bai。 比如20=2*2*5 求質因數就du是從2開始除zhi,這就是這個算dao法的原理比如輸入20 能被2整除, 輸出20的第一個質因數2 此時m=10 ,k=2 //接著就是求10的質因數。。。 10能被2整除, 輸出20的第2個質因數2 此時m=5,k=2 //接著求5的質因數。。。 5是質數,不能被除1和他本身外的數整除,k就從2加到5。。。 後輸出20的最後一個質因數5 14樓:匿名使用者 你寫bai的du太zhi復dao雜專了屬 #include void main( ) else i++;}} 50 2 5 5 81 3 3 3 3 分解質因數 每個合數都可以寫成幾個質數相乘的形式。其中每個質數都是這個合數的因數,叫做這個合數的分解質因數。分解質因數只針對合數。81分解質因數 每個合數都可以寫成幾個質數相乘的形式。其中每個質數都是這個合數的因數,叫做這個合數的分解質因數。分解質因數只針對合... 48 2 2 2 2 3 48 2 2 2 2 3 分解質因數 每個合數都可以寫成幾個質數相乘的形式。其中每個質數都是這個合數的因數,叫做這個合數的分解質因數。分解質因數只針對合數。48分解質因數 48 2 2 2 2 3 分解質因數 每個合數都可以寫成幾個質數相乘的形式。其中每個質數都是這個合數的... 24 2 12 2 6 2 3 24 2 2 2 381 3 27 3 9 3 3 81 3 3 3 395 5 19 95 5 19 48 2 24 2 12 2 6 2 3 48 2 2 2 2 357 3 19 57 3 19 88 2 44 2 22 2 11 88 2 2 2 11 用短除...分解質因數,五十,分解質因數,五十,
48分解質因數,90的分解質因數是?
用短除法分解質因數,用短除法分解質因數