求最大公约数

题目:

如果有一个自然数 a 能被自然数 b 整除,则称 a 为 b 的倍数, b 为 a 的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。

输入 a 和 b , 请返回 a 和 b 的最大公约数

方法:辗转相除法

思路:

1.将两整数求余 a%b = c

2.如果c = 0;则b为最大公约数

3.如果c != 0,则 a = b;b = c;继续从1开始执行

4.也就是说该循环的是否继续的判断条件就是c是否为0

代码示例:

```/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 求出a、b的最大公约数。
 * @param a int 
 * @param b int 
 * @return int
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int gcd(int a, int b ) {
    // write code here
    int c = a % b;
    while(c!=0){
        a = b;
        b = c;
        c = a%b;
    }
    return b;
}