解题思路:用大减去小的,得到的结果来代替大的
比如 4 和16
a=4 b=16 a!=b 大=大减小,小的不变
a=4 b=12 a!=b
a=4 b=8 a!=b
a=4 b=4 a==b 输出a或b就是他俩的最大公约数
#include<stdio.h>
int main()
{
int m = 0, n = 0;
scanf("%d%d", &m, &n);
while (m != n)//判断m=n
{
if (m > n) //如果m>n就返回m=m-n;n=n;
{
m = m - n;
n = n;
}
else//如果m<n就返回m=m;n=n-m;
{
m = m;
n = n - m;
}
}
printf("最大公约数为:%d\n", m);
return 0;
}
运行结果: