分解質因數
輸入一個整數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;
}