Description
任意一个正整数可以分解成唯一的质因数的乘积,给出正整数,请计算出它的质因数分解式。
输入
每行一个正整数2<=n<=10^8。
输出
每行输出一个对应结果。使用”^”表示幂,”*”表示乘,质因子应该按从小到大的顺序输出,如果某一个质因子只有一次,那么就不要输出它的幂。
Sample Input
2
6
36
Sample Output
2
2*3
2^2*3^2
解题思路: 本题就是单纯的模拟,就不费多少笔墨了,请看代码。有疑问的请评论留言。
AC代码:
#include <stdio.h>
int main()
{
int n,i,j;
while (scanf("%d",&n) != EOF)
{
for ( i=2; i*i<=n; i++)
{
for ( j=0; n%i==0; j++) n/=i;
if (j==1) printf("%d",i);
else if ( j > 1) printf("%d^%d",i,j);
if (n!=1 && j!=0) printf("*");
}
if (n!=1) printf("%d",n);
printf("\n");
}
return 0;
}
博客主要分享了一道题的解题思路,称本题是单纯的模拟,未作过多阐述,直接给出了AC代码,并欢迎有疑问者评论留言,涉及C语言、算法和数据结构相关内容。
1209

被折叠的 条评论
为什么被折叠?



