直接给代码:
#include <iostream>
using namespace std;
int main()
{
int a, b;
cout << "输入两个整数: "<<endl;
cin >> a >> b;
while(a != b)
{
if(a > b)
a -= b;
else
b -= a;
}
cout << "最大公约数: " << b<<endl;
return 0;
}
第二种方法:
#include <iostream>
using namespace std;
int main() {
int n1, n2, hcf;
cout << "输入两个整数: "<<endl;
cin >> n1 >> n2;
// 如果 n2 大于 n1 交换两个变量
if ( n2 > n1) {
int temp = n2;
n2 = n1;
n1 = temp;
}
for (int i = 1; i <= n2; ++i) {
if (n1 % i == 0 && n2 % i ==0) {
hcf = i;
}
}
cout << "最大公约数: " << hcf<<endl;
return 0;
}
输入两个整数:
10 5
最大公约数: 5
本文介绍了两种求取两个整数最大公约数的方法,分别是欧几里得算法和循环除法,通过实例展示了代码,并分析了它们的效率。
632

被折叠的 条评论
为什么被折叠?



