程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C練習實例 >> C 練習實例14 – 將一個正整數分解質因數

C 練習實例14 – 將一個正整數分解質因數

編輯:C練習實例

C 練習實例14 - 將一個正整數分解質因數

題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。

程序分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:

  • (1)如果這個質數恰等於(小於的時候,繼續執行循環)n,則說明分解質因數的過程已經結束,另外 打印出即可。
  • (2)但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數n.重復執行第二步。
  • (3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。
//  Created by www.runoob.com on 15/11/9.
//  Copyright © 2015年 菜鳥教程. All rights reserved.
//

#include<stdio.h>
int main()
{
    int n,i;
    printf("請輸入整數:");
    scanf("%d",&n);
    printf("%d=",n);
    for(i=2;i<=n;i++)
    {
        while(n%i==0)
        {
            printf("%d",i);
            n/=i;
            if(n!=1) printf("*");
        }
    }
    
    printf("\n");
    return 0;
}

以上實例輸出結果為:

請輸入整數:90
90=2*3*3*5

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved