题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

  • (1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。
  • (2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
  • (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

实例:

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

以上实例输出结果为:

请输入整数:90
90=2*3*3*5

感谢你的阅读,请用心感悟!希望可以帮到爱学习的你!!分享也是一种快乐!!!请接力。。。

点击查看原文,谢谢!

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/kangyifan/p/12986059.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!