Description
请写一个程序,读入一个正整数,把它的所有质因子找出来。
Input
本题有多组输入数据。第一行是输入数据的组数T,每组数据占一行,有一个要求分解因式的正整数n。1<=T<=10,1<=n<=10^7。
Output
对应每组输入数据,输出占一行,注意因子应按质因子的大小从小到大输出。具体见样例。
Sample Input
1
181944
Sample Output
181944=2^3*3^2*7*19^2
#include <stdio.h> #include <stdlib.h> #include<math.h> int prime(int y) { int i; if(y==1) return 0; if(y==2) return 1; for(i=2;i<y;i++) { if(y%i==0) return 0; } return 1; } int fenjie(int a) { int i,k[1000]; int t=0; printf("%d=",a); for(i=a;i>1;i--) { if(a%i==0&&prime(i)==1) { a=a/i; k[t]=i; t++; i++; } else continue; } for (i=t-1;i>0;i--) printf("%d*",k[i]); printf("%d\n",k[0]); return 0; } int main() { int q,i,p[1000]; scanf("%d",&q); for (i=0;i<q;i++) scanf("%d",&p[i]); for (i=0;i<q;i++) fenjie(p[i]); }