描述
Given two numbers, number a and number b. Find the greatest common divisor of the given two numbers.
In mathematics, the greatest common divisor (gcd) of two or more integers, which are not all zero, is the largest positive integer that divides each of the integers.
您在真实的面试中是否遇到过这个题?
是
样例
Given a = 10, b = 15, return 5.
Given a = 15, b = 30, return 15.
辗转相除法,没有什么难度。
class Solution {
public:
/**
* @param a: the given number
* @param b: another number
* @return: the greatest common divisor of two numbers
*/
int gcd(int a, int b) {
// write your code here
swap(a,b);
while(a%b!=0){
a=a%b;
swap(a,b);
}
return b;
}
void swap(int &a,int &b){
if(a<b){
a^=b;
b^=a;
a^=b;
}
}
};
本文介绍了一种求两个整数最大公约数的方法,并通过一个简单的C++代码实现。使用了辗转相除法来找到两个非零整数的最大公约数。

752

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



