您的位置:首页 > 其它

因子分解

2017-11-23 11:04 246 查看
描述

输入一个数,输出其素因子分解表达式。

输入

输入一个整数 n (2 <= n < 100)。

输出

输出该整数的因子分解表达式。

表达式中各个素数从小到大排列。

如果该整数可以分解出因子a的b次方,当b大于1时,写做 a^b ;当b等于1时,则直接写成a。

样例输入

60

样例输出

2^2*3*5

#include<stdio.h>

int prime(int n)
{
for(int i=2;i<n;i++)
{
if(n%i==0) return 0;
}
return 1;
}

int main()
{
int i,n,ori,last,ans[101]={0};
scanf("%d",&n);
ori=n;
for(i=2;i<=ori;i++)
{
while(prime(i)==1&&n%i==0)
{
ans[i]++;
n=n/i;
}
if(n==1)
{
last=i;
break;
}
}
for(i=2;i<last;i++)
{
if(ans[i]==1)
{
printf("%d*",i);
}
if(ans[i]>1)
{
printf("%d^%d*",i,ans[i]);
}
}
if(ans[last]=1)
{
printf("%d",last);
}
if(ans[last]>1)
{
printf("%d^%d",last,ans[last]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: