题目:算法E(欧几里得算法) 给定两个正整数m和n,求它们的最大公因子,即能够同时除以m和n的最大正整数。
E1.[求余数] 以n除m并令r为所得余数
E2.[余数为零?]若r=0,算法结束,n即为答案。
E3.[减少]置m←n,n←r,并返回步骤E1。
java代码如下
public int computational(int m, int n) {
int r = m % n;
if (r == 0) {
return n;
}else {
m = n;
n = r;
return this.computational(m, n);
}
}
*欧几里得算法具体可参照百度百科;
面试经常遇到。。。