标签:
1 #include<stdio.h> 2 int main() 3 { 4 int a; 5 printf("输入一个数,程序将给出它的质数分解。\n"); 6 scanf("%d",&a); 7 printf("a="); 8 int i=2; 9 while(i<=a) 10 { 11 while(a%i==0) 12 { 13 a=a/i; 14 printf("%d",i); 15 if(a!=1) 16 printf("*"); 17 } 18 19 i++; 20 } 21 printf("\n"); 22 // printf("2x2x11x17x101x1307=%d\n",2*2*11*17*101*1307); 23 24 25 return 0; 26 }
实现思想:
i从2开始,对a做除法,能整除的时候a=a/i,记录质因数i,然后继续用a除以i,直到a不能被i整除,然后i++,继续重复上面的操作,直到i=a。
缺点:
每一个质因数直接输出,没有保存起来,可以用一个链表来保存;
分解的过程在main中完成,可以写成一个函数。
标签:
原文地址:http://www.cnblogs.com/tbhdwx/p/4430476.html