当前位置:   article > 正文

【C语言】将一个正整数分解质因数

将一个正整数分解质因数

将一个正整数分解成质因数。如90=2*3*3*5。

分析:对n进行分解质因数,找一个最小质数(素数)k。

        1.如果n>k,n也能被k整除,打印出k的值,n的值改为n/k

        2.如果n不能被k整除,k++

        3.如果n=k,说明分解质因数过程结束,打印输出即可。

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

运行结果:

  1. 请输入一个正整数
  2. 90
  3. 90=2*3*3*5
  4. 请按任意键继续. . .

可能你会觉得,这分解质因数体现在哪?你想想看,2是最小质数,如果一个数连2都不能整除,那么2的倍数他也都不能整除了,因为从小到大除,小的都除不尽了,大的还会除尽吗?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/446921
推荐阅读
相关标签
  

闽ICP备14008679号