最大公约数
-
辗转相除法:
-
a%b 等价于 a – c*b; (c为整数)
-
因为 a – c*b 可以被 a b 的最小公倍数d整除 所以(b,a%b) 的最小公倍数和(a,b)的一样
-
#include<iostream> using namespace std; int gcd(int a,int b){ //如果b==0 最大公约数就是a return b ? gcd(b, a%b ): a; } int main(){ int n; cin>>n; while(n--){ int a,b; cin>>a>>b; printf("%d\n", gcd(a,b)); } return 0; }
-
-