题目内容:求最大公约数
给定两个数,求这两个数的最大公约数
例如:
输入:20 40
输出:20
什么叫最大公约数?
方法分析:
提示:这里我们用辗转相除法:
例如:输入18和24的公约数
辗转相除法 : 首先要很多次相除,用大的除以小的,然后再用小的除以余数,除法多次后正好整除,则整除后的商则为最小公约数,所以我们需要一个循环,循环的判断条件肯定就是能不能正好相除完也就是没有余数,也就是取模等于0就退出循环,里面就是辗转相除的代码实现了
代码实现:
int main()
{int x, y ,c= 0;scanf("%d%d",&x,&y);//循环while ( c = x % y){ x = y;y = c;}printf("%d",y);return 0;
}