7-61 质因子分解 (10 分)
本题目要求读入一个大于1的整数,编程将其分解成若干个质因子(素数因子)积的形式。
输入格式:
大于1的整数一个。
输出格式:
将输入的正整数分解成若干个质因子积的形式,质因子的出现顺序按从小到大排列。如:30=2*2*2*5;如果整数本身为质数或素数,直接输出,如:13=13。
输入样例:
12480
输出样例:
12480=2*2*2*2*2*2*3*5*13
#include<stdio.h>
int main(){
int n,i,flog=0;
scanf("%d",&n);
for(i=2;i<n;i++){
if(n%i==0) flog=1;
}
if(flog==0) {printf("%d=%d",n,n); return 0;}
else{
int i=2;
printf("%d=",n);
do{
if(n%i==0){
if(n==i)
printf("%d",i);
else
printf("%d*",i);
n=n/i;}
if(n%i==0);
else
i++;
}while(n>1);
}
return 0;
}