如果给定两个数 a=16 b=8
/* 思路: v1+while 循环 拿最小值 去试除最大值 从最小值往1找(因为是求最大公约数所以往前找)
如果找到一个数值能够被a整除&&能够被b给整除 那么就是最大公约数
如果不能找到那么就最小值()减减(--)重新试除 直到找到一个数值能够被a整除&&能够被b给整除*/
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
/* 思路: while 循环 拿最小值 去试除最大值 从最小值往1找(因为是求最大公约数所以往前找)
如果找到一个数值能够被a整除&&能够被b给整除 那么就是最大公约数
如果不能找到那么就最小值--重新试除 直到找到一个数值能够被a整除&&能够被b给整除*/
int main()
{
int a = 0;
int sum = 0;
int b = 0;
scanf("%d %d",&a,&b);//16--8
if (a<b)
sum = a;
else
sum = b;
while (1)//无限循环 后期跳出
{
if (a%sum==0&&b%sum==0)
{
printf("%d",sum);
break;
}
sum--;
}
return 0;
}
如果不是很懂请参考视频<<<<<<精准空降