题目内容:
给定两个数,求这两个数的最大公约数
最大公约数:
指两个或多个整数共有约数中最大的一个。
辗转相除法:
用辗转相除法求几个数的最大公约数,可以先求出其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个数为止。最后所得的那个最大公约数,就是所有这些数的最大公约数。
源程序与运行结果:
#include<stdio.h>
int gys(int n,int m)
{
int tmp,ret;
if(n<m)
{
tmp=n;
n=m;
m=tmp;
}
ret=n%m;
while(ret!=0)
{
n=m;
m=ret;
ret=n%m;
}
return m;
}
int main()
{
int n,m,ret;
scanf("%d %d",&n,&m);
ret=gys(n,m);
printf("最大公约数为:%d\n",ret);
return 0;
}