cf会员踢人:C++递归谁能帮下我啊....

来源:百度文库 编辑:高考问答 时间:2024/04/28 03:37:20
#include <iostream>
using namespace std;

int gcd(int, int);

int main()
{
int a, b;
cout<<"Please enter 2 intergers: ";
cin>>a>>b;

cout<<"The great common divisor is "<<gcd(a,b)<<endl;

return 0;
}

int gcd(int x, int y)
{
while(x % y != 0)
{
int r = x % y;
x = y;
y = r;
}
return y;
}

//怎么把gcd这函数转换成递归啊??

//求最大公约数(用递归算法)
int gcd(int a,int b)
{
int r=a%b;//求A/B的余数

if(r==0)//余数为零,B就是最大公约数
return b;
else//以B与余数的最大公约数,作为A与B的最大公约数
return gcd(b,r);
}