算法:(1)是两个数相余,直到余数为0,如果余数不为0,就用除数和余数求余
(2)若发现余数为0,那么当前的除数就是最大公约数
代码如下:
package ace;
public class xingxing {
/**@小脑斧
* 求最大公约数
* @param num1
* @param num2
*/
public static int gcd(int num1, int num2) {
// 求余数
int r = num1 % num2;
// 如果余数为0,那么除数就是最大公约数
if (r == 0) {
return num2;
} else {
// 否则,则用除数和余数来进行运算
return gcd(num2, r);
}
}
public static void main(String[] args) {
int gcd=gcd(75,30);
System.out.println("最大公约数为"+gcd);
}
}
运行结果如下所示
最大公约数为15