C++ 实现欧几里得算法求最大公约数
欧几里得算法(也称为辗转相除法)用于求两个正整数的最大公约数。下面是一个用 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;
}
使用方法:
- 运行程序后,会要求你输入两个正整数。
- 输入两个正整数后,程序会使用欧几里得算法计算它们的最大公约数,并输出结果。
希望这段代码对你有帮助!如果有任何疑问,请随时提问。
原文地址: https://www.cveoy.top/t/topic/jSe 著作权归作者所有。请勿转载和采集!