c語言分解質因數,C語言分解質因數

2021-04-18 22:26:29 字數 2662 閱讀 7339

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分解質因數,90的分解質因數是?

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 用短除...