求最大公约数可以使用辗转相除法;
用较大的数除去较小的,取余然后在用较小的数除以余数,一直下去直到余数为0;
代码实现:
#include<stdio.h>
int gys(int a,int b)
{
int ret = 0;
while(a % b != 0)
{
ret = a % b;
a = b;
b = ret;
}
return b;
}
int main()
{
int tmp = gys(12,4);
printf("%d\n",tmp);
return 0;
}