2 条题解
-
1
辗转相减法(欧几里得算法)
#include<bits/stdc++.h> using namespace std; int gcd(int a,int b){ if (a==b) return a;//当a和b相等时直接返回a或b即可 else if (a>b) { return gcd(b,a-b); }else{ return gcd(a,b-a); } } int main(){ int a,b; cin>>a>>b; cout<<gcd(a,b); }
辗转相除法
#include<bits/stdc++.h> using namespace std; int gcd2(int a,int b){ if (b==0) return a; else return gcd2(b,a%b); } int main(){ int a,b; cin>>a>>b; cout<<gcd2(a,b); }
- 1
信息
- ID
- 142
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 11
- 已通过
- 8
- 上传者