求一个正整数n的质因数分解
输入格式:
一个正整数N
输出格式:
对给出的正整数n分解质因数,如给出20,输出2^2*5形式输出。
样例输入:
20
样例输出:
2^2*5
数据范围:
2<=n<=2^31
时间限制:
1S
空间限制:
256M
提示:
对于30%的数据n<=100
对于60%的数据n<=100000
对于100%的数据n<=10^9
暴力筛选~
#include<cstdio>int n,ans[10001][2],tot;int main()
{scanf("%d",&n);for(int i=2;i<=n;i++)if(!(n%i)){ans[++tot][0]=i;while(!(n%i)){n/=i;ans[tot][1]++;}}for(int i=1;i<tot;i++){printf("%d",ans[i][0]);if(ans[i][1]>1) printf("^%d",ans[i][1]);printf("*");}printf("%d",ans[tot][0]);if(ans[tot][1]>1) printf("^%d",ans[tot][1]);return 0;
}