用函数调用的方法解决最大公约数。
首先我们需要了解什么是最大公约数:两个或多个整数共有约数最大的一个。
例如:4和12的最大公约数是4、3和18的最大公约数是3…
用函数调用的方法解决这个问题:
#include<iostream>
using namespace std;
int gys(int a,int b)
{
int min;
if(a<b)
{
min=a;
a=b; /*把a,b中的最大值赋给a*/
b=min;
}
if(b==0)
return a; /*将最大公约数返回给gys*/
else
return gys(b,a%b); /*辗转相除法:不断求a%b的余数直到b=0*/
}
int main()
{
int a,b;
cout<<"input a number:";
cin>>a>>b;
cout<<"greatest common divisor:"<<gys(a,b);
return 0;
用到的方法为辗转相除法:(4,12)>>(12,4)>>(4,12%4)>>(4,0)>>输出最大公约数4。
点个赞儿!!!!
`