C语言中给定两个数,求这两个数的最大公约数

首先先明确什么是最大公约数,最大公约数是指:a、b两个数的共同的因子中最大的一个,5的因子有1和5,7的因子有1和7,因此两者的最大公约数就是1.

思路:

1、最大公约数是a、b两个数的共同的因子c,所以两者都能够除尽c,可知余数为0,此时就可以用求余操作符“%”,对从1到a或者b本身的数求余数,可以找到最大公约数。a,b两个数的最大公因子最大是a,b中的最小数,就是i的值可以取到a.

#include

int main()

{

int a,b,i,max;

scanf("%d%d",&a,&b);

for(i=1;i<=a;i++) //此时i<=a可以替换成i<=b

{

if( a%i==0 && b%i==0)

max=i; // 因子i逐渐增大,故把i的值赋给max,求得的就是最大公因子。

}

printf("最大公约数为%d\n",max);

return0;

}

你可能感兴趣的:(c语言)