首先,最大公约数就是两个数能同时被一个最大的整数整除。
例如:15 跟9 最大公约数就是3
思路:辗转相除法
15/9商1余6 9/6商1余3 6/3商2余0
当余数为0时,所以3就是最大公约数
c语言编程
#include <stdio.h>
int main()
{
int a=0;
int b=0;
printf("请输入两个数\n");
scanf("%d%d",&a,&b);
while(a%b) //此判断当a%b=0时,循环结束
{
int ret=0;
int ret=b; //把b暂存在ret里,免被修改找不到
b=a%b; //把a%b的值重新赋值给b
a=ret; //把b的值赋值给a
}
printf("最大公约数是%d",b);
//b也就是上面例子6/3=0中,3是最大公约数
return 0;
}
有不对的,欢迎指出,仅供新手参考。