欧几里得

版权声明:低调地前行,越努力越幸运! https://blog.csdn.net/SSYITwin/article/details/79946733

什么是欧几里得算法:欧几里得算法就是辗转相除法,用来求得最大公约数。

1.1模板一:

    int gcd(int a,int b)
{
//return b==0?a:gcd(b,a%b);
return b?gcd(b,a%b):a;

}

1.2完整代码:

     #include<algorithm> 
#include<iostream>
#include<cstdio> 
using namespace std;
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int main()
{
int a,b;
cin>>a>>b;
cout<<gcd(a,b)<<endl;
return 0;

}

2.1 模板二:

      int gcd(int a,int b)
{
while(b!=0)
{
int r=b;
b=a%b;
a=r;
}
return a;

}

2.2 代码二:

    #include<algorithm> 
#include<iostream>
#include<cstdio> 
using namespace std;
int gcd(int a,int b)
{
while(b!=0)
{
int r=b;
b=a%b;
a=r;
}
return a;
}
int main()
{
int a,b;
cin>>a>>b;
cout<<gcd(a,b)<<endl;
return 0;

}

3.1模板三:(递归)

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

}

3.2代码:

   #include<algorithm> 
#include<iostream>
#include<cstdio> 
using namespace std;
int gcd(int a,int b)
{
if(b==0)
 return a;
else
 return gcd(b,a%b);
 
}
int main()
{
int a,b;
cin>>a>>b;
cout<<gcd(a,b)<<endl;
return 0;
}

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭