求最大公约数,使用辗转相除法
#include<iostream>
using namespace std;
int cal(int a,int b){//辗转相除法
if(a==0) return b;
if(b==0) return a;
if(a>b){
a=a%b;
} else if(a<b){
b=b%a;
}
return cal(a,b);
}
int main(){//例题6.5 哈工大 最大公约数
int a,b;
while(cin>>a>>b){
cout<<cal(a,b)<<endl;
}
return 0;
}

京公网安备 11010502036488号