700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言经典例14-将一个正整数分解质因数

C语言经典例14-将一个正整数分解质因数

时间:2019-06-19 23:23:19

相关推荐

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 运行结果

请输入一个正整数:10 = 2 * 2 * 2 * 3 * 5

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。