计算最大公约数gcd,最小公倍数lcm–C、Java、Python
C语言:
#include<stdio.h>
// 最大公约数方法
int gcd(int a, int b) {
return (a % b == 0) ? b : gcd(b, a%b);
}
// 最小公倍数
int lcm(int a, int b) {
return a*b/gcd(a, b);
}
int main()
{
int number1 = 6, number2 = 8;
printf("%d 和 %d 的最大公约数是 %d \n", number1, number2, gcd(number1, number2));
printf("%d 和 %d 的最小公倍数是 %d \n", number1, number2, lcm(number1, number2));
}
/* Code Running Results:
* 6 和 8 的最大公约数是 2
* 6 和 8 的最小公倍数是 24
*/
Java语言:
public class TestFour {
// 最大公约数方法
public static int gcd(int a, int b) {
return (a % b == 0) ? b : gcd(b, a%b);
}
// 最小公倍数
public static int lcm(int a, int b) {
return a*b/gcd(a, b);
}
public static void main(String[] args) {
int number1 = 6, number2 = 8;
System.out.println(number1 + " 和 " + number2 + " 的最大公约数是 " + gcd(number1, number2));
System.out.println(number1 + " 和 " + number2 + " 的最小公倍数是 " + lcm(number1, number2));
}
}
/* Code Running Results:
* 6 和 8 的最大公约数是 2
* 6 和 8 的最小公倍数是 24
*/
Python语言:
# 最大公约数函数
def gcd(a, b):
return b if a%b == 0 else gcd(b, a%b)
# 最小公倍数函数
def lcm(a, b):
return a*b//gcd(b, a%b)
number1 = 6
number2 = 8
print("{0} 和 {1} 的最大公约数是: {2}".format(number1, number2, gcd(number1, number2)))
print("{0} 和 {1} 的最小公倍数是: {2}".format(number1, number2, lcm(number1, number2)))
'''
Code Running Results:
6 和 8 的最大公约数是: 2
6 和 8 的最小公倍数是: 24
'''