-
题目要求
- 实现一个计算两个数的最大公约数的简单函数。
- 函数接口定义:
int gcd( int x, int y );
其中x和y是两个正整数,函数gcd应返回这两个数的最大公约数。
-
样例程序
- 裁判测试程序样例:
#include <iostream>
using namespace std;
int gcd(int x, int y);
int main()
{
int x, y;
cin >> x >> y;
cout << gcd(x, y) << endl;
return 0;
}
/* 你的代码将被嵌在这里 */
- 输入样例:
32 72
- 输出样例:
8
-
函数实现
// 辗转相除法求最大公约数
int gcd(int x, int y)
{
int temp, r = 1;
if (x < y)
{
temp = x; x = y; y = temp;
}
while (r != 0)
{
r = x % y;
x = y;
y = r;
}
return x;
}