求最大公约数,使用辗转相除法
#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; }