/*
* 任意输入两个正整数 求其最大公约数
* 12:1 2 3 4 6 12
* 18:1 2 3 6 9 18
* 约数:1 2 3 6 最大公约数:6
*/
#include <stdio.h>
/*
* 从较小的数据本身到1去找其约数 与此同时判断是否公约数
* 这样第一次所找到的公约数为最大公约数
*/
int maxGcd(int min,int max)
{
int i;
for(i=min;i>0;i--)
{
//表达式短路
if(min%i==0 && max%i==0)
{
return i;
}
}
}
int main(void)
{
int a,b,ret;
printf("任意输入两个正整数:");
scanf("%d%d",&a,&b);
if(a<b)
{
ret=maxGcd(a,b);
}
else
{
ret=maxGcd(b,a);
}
printf("%d and %d 最大公约数:%d\n",a,b,ret);
return 0;
}