递归调用求最大公约数用c++语言编写,急急,在线等~!

来源:百度知道 编辑:UC知道 时间:2024/05/28 02:40:49
马上要考试了,还不会呢,各位大侠快救救急~!

int gcd(int a, int b)
{
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}

给你个好方法,去学校里面或者学校外面找复印店去问问有没有C++的资料,有的话就买几份,啥程序都有了~~哈哈哈哈

int zdgys(int a, int b)
{
for(int i = 2; i <= min(a, b); i++)//从2开始到a,b中的较小数“试”
{
if(a % i == 0 && b % i == 0)//a,b都能被i整除,i是一个公约数
return i * zdgys(a / i, b / i);//递归调用
}
return 1;//如果没有大于等于2的公约数,则公约数为1
}