数字分解问题
书上的哈原题如下:编写一个函数,对输入的整数k输出它的全部素数因子。例如:当k=126时,素数因子为:2,3,3,7。要求按如下格式输出:126=2*3*3*7。
程序代码://当k=126时,素数因子为:2,3,3,7。要求按如下格式输出:126=2*3*3*7
#include<stdio.h>
main()
{
void xyz(int);
int y;
scanf("%d",&y);
printf("y=");
xyz(y);
}
void xyz(int m)
{
int i,j=0,k;
for(i=2;i<=m;i++)
if(m%i==0)
{system("pause");
for(k=2;k<i;k++)
if(i%k==0)
break;
if(k==i)
{
m=m/k;
j++;
if(j==1)
printf("%d",i);
else
printf("*%d",i);
i=k=2;system("pause");
}
}
puts("");
}
你可以试一下,不知道为啥,输入的数是2的n次方时,得不到正确结果,其他的还可以。希望有高手来指点一下(困死了,该睡觉了都,嘿嘿……明天再回来,哈
