天天看點

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

将一個正整數分解質因數。例如:輸入90,列印出90=233*5。

//題目:将一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。
//程式分析:對n進行分解質因數,應先找到一個最小的質數k
#include<stdio.h>
int main()
{
    int n,i;
    printf("請輸入整數:");
    scanf("%d",&n);
    printf("%d=",n);
    for(i=2;i<=n;i++)//周遊從2到本身的所有數 
    {
        while(n%i==0)//能整除 
        {
            printf("%d",i);//則這個數為其中一個質數 
            n/=i;//n就除去i,變成一個新的數字繼續執行 
            if(n!=1) 
            {
            printf("*");
            };//直到n=1 
            if(n==1)
            {
                break;
            }
        }
    }
    
    printf("\n");
    return 0;
}      

測試:

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

繼續閱讀