编写一个程序,它的功能是:计算正整数m和n的所有公共因子之和

编写一个程序,它的功能是:计算正整数m和n的所有公共因子之和


#include <stdio.h>

int main() {
    int m, n, i, sum = 0;

    printf("请输入两个正整数,中间用空格隔开:\n");
    scanf("%d %d", &m, &n);

    for(i = 1; i <= m && i <= n; i++) {
        if(m % i == 0 && n % i == 0) {
            sum += i;
        }
    }

    printf("所有公共因子之和为:%d\n", sum);

    return 0;
}

以下内容部分参考ChatGPT模型:


思路:

  1. 首先输入两个正整数m和n
  2. 求出m和n中的最小值min_num
  3. 从1到min_num进行遍历,如果能够同时整除m和n,则为它们的公共因子,累加到sum中
  4. 输出sum即为m和n的所有公共因子之和

示例代码:

#include <iostream>
using namespace std;

int main() {
    int m, n;
    int min_num, sum = 0;
    cout << "请输入两个正整数m和n:";
    cin >> m >> n;
    min_num = m < n ? m : n;
    for (int i = 1; i <= min_num; i++) {
        if (m % i == 0 && n % i == 0) {
            sum += i;
        }
    }
    cout << "m和n的所有公共因子之和为:" << sum << endl;
    return 0;
}

如果我的建议对您有帮助、请点击采纳、祝您生活愉快