欧几里得

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

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 
#include
#include 
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< 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 
#include
#include 
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< return 0;

}

3.1模板三:(递归)

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

}

3.2代码:

   #include 
#include
#include 
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< return 0;
}

你可能感兴趣的:(知识点,(^-^),--------数论,--------(^-^),(扩展)欧几里得)