题目描述
求一个正整数n的质因数分解
输入格式:
一个正整数N
输出格式:
对给出的正整数n分解质因数,如给出20,输出2^2*5形式输出。
正确答案(c++):
#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;
}