C言語で最小公倍数を求める方法は何ですか?
C言語では、次のコードを使用して2つの数の最小公倍数を計算できます:
#include <stdio.h>
// 计算最大公约数
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
// 计算最小公倍数
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
int num1, num2;
printf("请输入两个数:");
scanf("%d %d", &num1, &num2);
int result = lcm(num1, num2);
printf("最小公倍数为:%d\n", result);
return 0;
}
上記のコードでは、gcd関数は2つの数値の最大公約数を計算するためにユークリッドの互除法を使用します。lcm関数は、gcd関数を呼び出して最小公倍数を計算し、lcm(a, b) = (a * b) / gcd(a, b) の式を使用します。
main関数では、まずユーザー入力から2つの数num1とnum2を取得し、その後lcm関数を呼び出して最小公倍数を計算し、結果を出力します。