标签:根据 bsp 证明 最大 gcd include int ret str
在cs中gcd的应用很广 一般可以求两个数的最大公约数
#include<iostream> #include<cstdio> using namespace std; int gcd(int a,int b) { if(a==0) return 0; else return (b==0)?a:gcd(b,a%b); } int main() { int a,b; cin>>a>>b; cout<<gcd(a,b)<<endl; return 0; }
证明:
观察上述可知只需证明gcd(a,b)==gcd(b,a%b)
设a=qb+r r=a-qb
设d 为a b 的公因子 d|a d|b
可得d也为b r的公因子 (根据同余满足 + - *)
得证
不过还有一个拓展gcd 以后在来补坑
标签:根据 bsp 证明 最大 gcd include int ret str
原文地址:https://www.cnblogs.com/liuzhaojun/p/10742528.html