#include <iostream> using namespace std; int gcd(int a, int b) { if (a==b) return a; if (a < b) return gcd(b,a); else { if ((a&1)==0 && (b&1)==0) //都是偶数 return gcd(a>>1, b>>1)<<1; if ((a&1)==0 && (b&1)!=0) return gcd(a>>1, b); if ((a&1)!=0 && (b&1)==0) return gcd(a, b>>1); else return gcd(b, a-b); } } int main() { int a,b; cin >>a>>b; cout <<gcd(a,b); return 0; }
全部评论
(0) 回帖