本文主要是介绍C语言经典例14-将一个正整数分解质因数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 1 题目
- 2 分析
- 3 实现
- 4 运行结果
1 题目
将一个正整数分解质因数。例如:输入 90 90 90,打印出 90 = 2 ∗ 3 ∗ 3 ∗ 5 90 = 2 * 3 * 3 * 5 90=2∗3∗3∗5
2 分析
分解质因数的思路就是用该数n
不断除以一个递增的数i
(该数初始为2
,递增至n
)若能整除i
,则当前i
就为n
的因子之一,然后将n
用该因子缩小,即n=n/i
再重复执行上述操作,若n = i
则说明分解因子结束了
3 实现
#include <stdio.h>int main() {int n ;printf("请输入一个正整数:");scanf("%d", &n);printf("%d = ", n);for (int i = 2; i <= n; i++) {while(n != i) { // 执行的条件必须是n与i不等,若相等则分解结束了if(n % i == 0) { // 若能整除则i为n的因子之一printf("%d * ", i); // 输出因子n = n / i; // 找到了一个因子i,则n/i缩小n继续寻找} else {break; // 不能整除则跳出本次循环,递增i进行下一轮}}}printf("%d\n", n); // 最后剩下的n不能整除i,所以它也为因子之一,所以最后输出return 0;
}
4 运行结果
请输入一个正整数:120
120 = 2 * 2 * 2 * 3 * 5
这篇关于C语言经典例14-将一个正整数分解质因数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!