C语言如何分解正整数为质因数?

99ANYc3cd6
预计阅读时长 5 分钟
位置: 首页 C语言 正文

C语言实现正整数分解质因数

以下是一个用C语言实现将正整数分解质因数的程序:

将一个正整数分解质因数c语言
(图片来源网络,侵删)
#include <stdio.h>
void primeFactorization(int num) {
    // 处理2的因子
    while (num % 2 == 0) {
        printf("2 ");
        num = num / 2;
    }
    // 处理奇数因子,从3开始,每次加2
    for (int i = 3; i <= num; i = i + 2) {
        // 当i*i <= num时继续循环
        while (num % i == 0) {
            printf("%d ", i);
            num = num / i;
        }
    }
    printf("\n");
}
int main() {
    int number;
    printf("请输入一个正整数: ");
    scanf("%d", &number);
    if (number <= 1) {
        printf("请输入大于1的正整数,\n");
        return 1;
    }
    printf("%d的质因数分解为: ", number);
    primeFactorization(number);
    return 0;
}

程序说明

  1. 函数primeFactorization:

    • 首先处理所有2的因子(偶数情况)
    • 然后从3开始,每次检查递增的奇数(3,5,7,...)
    • 对于每个数i,检查是否能整除当前num,如果能则输出i并更新num
    • 循环直到num变为1
  2. 主函数main:

    • 获取用户输入的正整数
    • 检查输入是否有效(大于1)
    • 调用质因数分解函数并输出结果

示例运行

请输入一个正整数: 60
60的质因数分解为: 2 2 3 5 
请输入一个正整数: 17
17的质因数分解为: 17 
请输入一个正整数: 100
100的质因数分解为: 2 2 5 5 

这个程序可以高效地分解任何正整数的质因数。

将一个正整数分解质因数c语言
(图片来源网络,侵删)
-- 展开阅读全文 --
头像
织梦安装插件500错误,如何解决?
« 上一篇 今天
dede5.7列表分页样式如何自定义?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]