7-6 求最大公约数 (15 分)
作者:互联网
题目:
使用辗转相除法和递归求两个正整数m和n的最大公约数。
输入格式:
输入两个正整数m,n。
输出格式:
按要求输出辗转相除过程及最终结果,输出结果之间空格分隔。
输入样例:
21 35
输出样例:
gcd(21,35) gcd(35,21) gcd(21,14) gcd(14,7) 7
代码:
#include <bits/stdc++.h>
using namespace std;
int gcd(int a,int b)
{
cout<<"gcd("<<a<<","<<b<<")"<<" ";
if(a%b==0) return b;//返回最大公约数
else if (a<b)
{
return gcd(b,a);
}
else
{
return gcd(b,a%b);
}
}
int main()
{
int a,b,gong;//gong为最大公约数
cin>>a>>b;
gong=gcd(a,b);
cout<<gong;
return 0;
}
测试点:
标签:gong,15,gcd,int,35,最大公约数,21 来源: https://blog.csdn.net/m0_51290571/article/details/115739561