欧几里得算法(也称为辗转相除法)用于求两个正整数的最大公约数。下面是一个用 C++ 编写的欧几里得算法的代码:

#include <iostream>
using namespace std;

int euclideanAlgorithm(int a, int b) {
    // 确保a大于b
    if (a < b) {
        int temp = a;
        a = b;
        b = temp;
    }

    while (b != 0) {
        int remainder = a % b;
        a = b;
        b = remainder;
    }

    return a;
}

int main() {
    int num1, num2;

    cout << '请输入第一个正整数: ';
    cin >> num1;

    cout << '请输入第二个正整数: ';
    cin >> num2;

    int gcd = euclideanAlgorithm(num1, num2);

    cout << num1 << '和' << num2 << '的最大公约数是: ' << gcd << endl;

    return 0;
}

使用方法:

  1. 运行程序后,会要求你输入两个正整数。
  2. 输入两个正整数后,程序会使用欧几里得算法计算它们的最大公约数,并输出结果。

希望这段代码对你有帮助!如果有任何疑问,请随时提问。

C++ 实现欧几里得算法求最大公约数

原文地址: https://www.cveoy.top/t/topic/jSe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录