#include<stdio.h>
int main ()
{
int i,j,t;
scanf("%d %d",&i,&j);
int m;
if(i>j)//比较两者大小,让i存储两者较小的数;
{
t=i; //如果I>J,i j 位置互换
i=j;
j=t;
}
for(m=i;m>0;m--)
//因为两数的最大公约数必然是比两数最大的数字小,可能小于且等于两数小的数字
//所以我们循环采用以两数小的数字为范围倒叙取余,
{
if(i%m==0&&j%m==0)//如果两数同时对循环的数字取余为0;则这个数字就是两数的最大公约数;
break; //因为也有可能两数对某一个数字取余结果为0,但该循环还是会继续,
} //直至N不大于0才终止循环,这里我们用break控制循环,如果条件成立则结束循环;
printf("%d\n",m);
return 0;
}
C语言求两个数的最大公约数
最新推荐文章于 2022-10-21 18:30:13 发布