求最大公约数的欧几里得算法是一个递归算法,据说出现在公元前375年,或许是最早的递归算法实例:
gcd(x, y) = x ; (y = 0)
= gcd(y, x mod y); (y > 0)
注:mod是求模,相当于程序中的%。
int gcd(int x, int y) //最终返回x,y的最大公约数
{
return y?gcd(y, x/y):x; //递归,用三元表达式实现选择功能。
}
时间: 2024-11-11 05:06:50
求最大公约数的欧几里得算法是一个递归算法,据说出现在公元前375年,或许是最早的递归算法实例:
gcd(x, y) = x ; (y = 0)
= gcd(y, x mod y); (y > 0)
注:mod是求模,相当于程序中的%。
int gcd(int x, int y) //最终返回x,y的最大公约数
{
return y?gcd(y, x/y):x; //递归,用三元表达式实现选择功能。
}