PTA-分解質因數

                                                 分解質因數

輸入一個整數n(2≤n≤10000),對其分解質因數。

輸入格式:

輸入正整數n(2≤n≤10000)。

輸出格式:

輸出整數=各分解質因數的乘積

輸入樣例:

120

輸出樣例:

120=2*2*2*3*5

解答:

#include<stdio.h>
#include<math.h>

int isPrime(int n)
{
    int flag = 1;
    int i;
    for(i=2; i<=sqrt(n); i++){
        if(n % i == 0) {
            flag = 0;
            break;
        }
    }
    return flag;
}
int main()
{
    int n, temp_n;
    int i, j;
    scanf("%d", &n);
    temp_n = n;
    i = 2;
    printf("%d=",n);
    while(1){
        if(isPrime(i) && (temp_n % i == 0)) {
            temp_n /= i;
            if(temp_n == 1) {
                printf("%d\n", i);
                break;
            }else printf("%d*",i);
        }else i++;
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章