辗转相除法,又叫欧几里得算法,是用以计算两个非负整数的最大公约数,在数学课本上是见过了,程序又是怎样实现的。其实,只需4行。
计算两个非负整数 p 和 q 的最大公约数:若q 是 0,则最大公约数为 p。否则,将 p 除以q 得到余数 r,p 和 q 的最大公约数即为 q 和r 的最大公约数。
Java 语言描述
计算两个非负整数 p 和 q 的最大公约数:若q 是 0,则最大公约数为 p。否则,将 p 除以q 得到余数 r,p 和 q 的最大公约数即为 q 和r 的最大公约数。
Java 语言描述
Public static int gcd(int p, int q)//形参两个
{
if (q == 0) return p;//排除零的情况
int r = p % q; //求余数
return gcd(q, r);// 利用递归 将p 和 q 的最大公约数即为 q 和r 的最大公约数转化为程序,再求余数,直到return
}