使用递归的方法实现寻找最大公约数
int gcd(int a,int b)
{
if(a<=0||b<=0)
return 0;
if(a%b==0)return b;
else
{
gcd(b,a%b);
}
}
#include<stdio.h>
int main()
{
int n,m;
scanf("%d%d",&n,&m);
printf("%d",gcd(n,m));
return 0;
}
其实和用辗转相除法实现寻找最大公约数的思想差不多
就是如果一个数对另一个数取模,如果为0,则输出较小的那个数,如果不为零则继续取较小的那个数和取模后的数再次取模