这个代码思路挺简单的,但在实现时本人还是思考了好久,代码如下,仅供参考
#include <stdio.h>
int main()
{
int m;
printf("input one num:\n");
scanf("%d",&m);
int temp = m;
printf("result:%d =",m);
while(temp != 1)
{
int i = 2;
int j;
while(i <= temp)
{
if(0 == temp % i)//先找到能被整除的数
{
int book = 0;//标记,用于判断i是否为质数
for(j = 2; j < i; j++)
{
if(0 == i % j)
{
book = 1;
}
}
if(0 == book)//i是质数
{
temp = temp / i;
printf("%d",i);
break;
}
}
i++;
}
if(1 != temp)
{
printf("*");
}
}
printf("\n");
return 0;
}