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関数を呼び出して最小公倍数を計算し、結果を出力します。

bannerAds