递归可以把复杂的程序简化,省略了繁杂的代码。递归分为自己本身递归和调用其它函数,本题就是反复调用自己,使问题简化,代码美观。
#include<iostream>
using namespace std;
int com(int x,int y)
{
if(x==y)
return x;
else if(x<y)
return (com(x,y/2));//多么漂亮的递归~
return (com(x/2,y));//return 用的可舒服~
}
int main()
{
int m,n;
cin>>m>>n;
cout<<com(m,n)<<endl;
return 0;
}