数字分解问题
书上的哈原题如下:编写一个函数,对输入的整数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次方时,得不到正确结果,其他的还可以。希望有高手来指点一下(困死了,该睡觉了都,嘿嘿……明天再回来,哈