当前位置:   article > 正文

求某个整数的质因数(C语言)_c语言求一个数的质因数

c语言求一个数的质因数

解题思路为:我们要求质因数,那么就选择采用遍历的方法,从2开始除直到该数本身寻找他的因数

前提:要确保输入的整数是合数,不然计算没有结果。

1.第一步:因为数的因数可能重复比如9=3*3。所以我们需要每次都要从2开始遍历这是我们就需要用到递归算法

2.第二步:我们用while循环,循环条件是知道结果为1时停止

3.第三步:最后然后我们将一个一个的因数取出来,最后用一个if语句判断把最后一个*。

代码如下:

  1. #include<stdio.h> 
  2. main(void)
  3. {
  4. int m,j=2;
  5. printf("请输入一个整数:");
  6. scanf("%d",&m);
  7. printf("%d = ",m);
  8. while(m!=1) {
  9. if(m%j==0)
  10. {
  11. m =m / j;
  12. printf(" %d ",j);
  13. }
  14. else
  15. break;
  16. if(m!=1)
  17. printf("*");
  18. j++;
  19. }
  20. printf("\n");
  21.  } 

ps:这里没有用到for循环,直接用while,然后在里面嵌套一个if判断这个数能否被2整除,结果不断除以2,不能直接越过2,知道不能被2整除时,递增,并对下一个素数整除。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号