要注意:计算两个非负整数的最大公约数m,n,如果其中一个是0则最大公约数是另外一个;否则将m除以n得到余数r,m和n的最大公约数即为n和r的最大公约数。这样就不会运行超时了。
#include<iostream>
#include<algorithm>
using namespace std
;
int yue(int m
,int n
){
int max
;
if(n
==0)
max
=m
;
else
max
=yue(n
,m
%n
);
return max
;
}
int main(){
int t
;
cin
>>t
;
while(t
--){
int m
,n
;
cin
>>m
>>n
;
cout
<<yue(m
,n
)<<endl
;
}
return 0;
}
转载请注明原文地址:https://blackberry.8miu.com/read-2261.html