C语言经典例14-将一个正整数分解质因数
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例14-将一个正整数分解质因数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現(xiàn)
- 4 運行結(jié)果
1 題目
將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入909090,打印出 90=2?3?3?590 = 2 * 3 * 3 * 590=2?3?3?5
2 分析
分解質(zhì)因數(shù)的思路就是用該數(shù)n不斷除以一個遞增的數(shù)i(該數(shù)初始為2,遞增至n)若能整除i,則當前i就為n的因子之一,然后將n用該因子縮小,即n=n/i再重復(fù)執(zhí)行上述操作,若n = i則說明分解因子結(jié)束了
3 實現(xiàn)
#include <stdio.h>int main() {int n ;printf("請輸入一個正整數(shù):");scanf("%d", &n);printf("%d = ", n);for (int i = 2; i <= n; i++) {while(n != i) { // 執(zhí)行的條件必須是n與i不等,若相等則分解結(jié)束了if(n % i == 0) { // 若能整除則i為n的因子之一printf("%d * ", i); // 輸出因子n = n / i; // 找到了一個因子i,則n/i縮小n繼續(xù)尋找} else {break; // 不能整除則跳出本次循環(huán),遞增i進行下一輪}}}printf("%d\n", n); // 最后剩下的n不能整除i,所以它也為因子之一,所以最后輸出return 0; }4 運行結(jié)果
請輸入一個正整數(shù):120 120 = 2 * 2 * 2 * 3 * 5總結(jié)
以上是生活随笔為你收集整理的C语言经典例14-将一个正整数分解质因数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言经典例13-水仙花数
- 下一篇: C语言经典例16-最大公约数和最小公倍数