有项目版本涉及到求三个数据的 整数比例,咋一看还挺难。
因为需要快速地找到最大公约数,找了下同事,竟然不会。
函数 :
public static int getCommonDivisor(int m, int n, int k) {
//找到最小的
int min = Math.min(Math.min(m, n),k);
int i;
//先从最小的数开始,一个个往下减,看看三个都能除得尽的,哪个先符合就终止循环。
for (i = min; ; i--) {
if (m % i == 0 && n % i == 0 && k % i == 0) {
break;
}
}
return i;
}
效果:
?