C++/python——最大公因数gcd

最大公因数( 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<<"
";
	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)<<"
";
	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)
经验分享 程序员 微信小程序 职场和发展