📜  两个数的公约数的C ++程序(1)

📅  最后修改于: 2023-12-03 14:48:52.932000             🧑  作者: Mango

两个数的公约数的C++程序

这个C++程序用于查找两个数的公约数。公约数是能够整除两个数的正整数。

算法说明
  1. 输入两个整数 num1num2
  2. 从 1 开始循环,直到较小的数(minNum)为止。
  3. 在循环中,检查 minNum 是否能够同时整除 num1num2
  4. 如果是,将 minNum 添加到一个存储公约数的向量 commonDivisors 中。
  5. 循环结束后,返回存储在向量 commonDivisors 中的公约数。
C++代码
#include <iostream>
#include <vector>

std::vector<int> findCommonDivisors(int num1, int num2) {
    std::vector<int> commonDivisors;
    int minNum = std::min(num1, num2);

    for (int i = 1; i <= minNum; i++) {
        if (num1 % i == 0 && num2 % i == 0) {
            commonDivisors.push_back(i);
        }
    }

    return commonDivisors;
}

int main() {
    int num1, num2;
    std::cout << "Enter two numbers: ";
    std::cin >> num1 >> num2;

    std::vector<int> commonDivisors = findCommonDivisors(num1, num2);

    std::cout << "Common divisors: ";
    for (int divisor : commonDivisors) {
        std::cout << divisor << " ";
    }

    return 0;
}
示例输入/输出
Enter two numbers: 12 18
Common divisors: 1 2 3 6 

在上面的示例中,输入为 12 和 18,程序计算并找到了两个数的公约数(1、2、3 和 6)。程序输出了这些公约数。

希望这个C++程序对你有所帮助!