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
}
运行结果: