C语言经典例14-将一个正整数分解质因数
生活随笔
收集整理的这篇文章主要介绍了
C语言经典例14-将一个正整数分解质因数
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
目录
- 1 题目
- 2 分析
- 3 实现
- 4 运行结果
1 题目
将一个正整数分解质因数。例如:输入909090,打印出 90=2∗3∗3∗590 = 2 * 3 * 3 * 590=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-将一个正整数分解质因数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: C语言经典例13-水仙花数
- 下一篇: C语言经典例16-最大公约数和最小公倍数