gcd函数,裴蜀定理以及裴蜀定理
1.gcd函数
在数学中,我们会用最大公约数和最小公倍数,而最大公约数就是gcd,最小公倍数是lcm,在c++中也有gcd这个函数:
方法一 自带函数
#include <bits/stdc++.h>
using namespace std;
int a,b;
int main(){
cin>>a>>b;
cout<<__gcd(a,b)<<endl;
return 0;
}
但是,这个__gcd函数只能对于数据范围小的,对于数据大的话,就只能自己写了,所以,我会介绍其中一种方法:
方法二 辗转相处法
辗转相除法其实就是不断的除,然后将除数给被除数,余数给除数,不断的除,直到除数为0,就可以算出来。所以我们既可以用循环,也可以用递归。
循环
long long gcd(long long a, long long b){
long long tmp = a;
while(a%b != 0){
a = b;
b = tmp%b;
tmp = a;
<

本文介绍了c++中的gcd函数,包括自带函数和辗转相除法实现。接着讲解了裴蜀定理及其证明,以及扩展欧几里得算法(ex_gcd)。通过青蛙的约会问题展示了ex_gcd在求解线性同余方程中的应用,强调在实际解题中要考虑负数处理。
最低0.47元/天 解锁文章
1905

被折叠的 条评论
为什么被折叠?



