7—求两个数的最大公约数(含超详细注释)

7.求两个数的最大公约数。

最大公约数的概念:指两个或多个整数共有约数中最大的一个。

方法:采用辗转相除法,如下图:

7—求两个数的最大公约数(含超详细注释)

代码如下:

#include <stdio.h>                         //编译预处理命令
int main()                                         //定义主函数
{
    int a, b, r;                                    //定义三个整型变量a,b,r
    printf("请输入两个整数:");     //提示输入
    scanf("%d %d", &a, &b);         //输入a,b的值,中间用空格隔开
    while(r=a%b){                       //将a%b的值赋给r,当余数r等于0(为假),跳出循环;当余数r不等于0(为真),执行循环体内容
        a = b;                                     //将b的值赋给a
        b = r;                                      //将余数r的值赋给b
    }
    printf("%d\n", b);                      //输出b,此时b的值为a与b的最大公约数
    return 0;                                    //函数返回值为0
}

运行结果:

7—求两个数的最大公约数(含超详细注释)