最大公因数( g c d gcd gcd)
C++
需注意!
l
o
n
g
l
o
n
g
long\ long
long long 为
64
64
64位整数类型,一般的
l
o
n
g
l
o
n
g
long\ long
long long为
64
64
64位,由于负数补码的原因,第一位作为符号位,因此有
63
63
63位可用。
方法1(麻烦)
此处使用 w h i l e while while循环
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ll a,b;
cout<<"请输入第1个数:";
cin>>a;
cout<<"请输入第2个数:";
cin>>b;
int m=max(a,b),n=min(a,b),r=m%n;
while(r!=0){
m=n;
n=r;
r=m%n;
}
cout<<"最大公因数为"<<n<<"\n";
system("pause");
}
方法2(简单)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ll a,b;
cout<<"请输入第1个数:";
cin>>a;
cout<<"请输入第2个数:";
cin>>b;
cout<<"最大公因数为"<<__gcd(a,b)<<"\n";
system("pause");
}
Python
Python无需注意大小范围
给个函数代码
def gcd(a,b):
m=max(a,b)
n=min(a,b)
r=m%n
while r!=0:
m=n
n=r
r=m%n
print(a,"和",b,"的最大公因数为",n)