序文
最小公倍数の定義:
2 つ以上の整数の公倍数を公倍数といい、0 以外の最小公倍数を最小公倍数といいます。
最小公倍数を見つける
正の整数 a と正の整数 b の最小公倍数とは、a と b で割り切れる最小の正の整数を指します。aとbの最小公倍数を求めてください。
たとえば、5 と 7 を入力し、5 と 7 の最小公倍数が 35 である場合、35 を返す必要があります。
入力の説明:
2 つの正の整数を入力します。
1≤a,b≤100000
出力の説明:
最小公倍数を出力します。
1. 説明
説明:
2 つの数値 5 と 7 があるとします
。1. まず、最小公倍数が 2 つの数値のうち大きい方であると仮定します (たとえば、5 と 7)。最小公倍数は 7 であるとします。7 が 5 と 7 を割り切れるかどうかを確認してください。同時に 7 を割り切れない場合は、8 9 10... を見て、毎回 1 を加えて、5 と 7 を割り切れるかどうかを確認します。K に達したとき、5 と 7 を同時に割り切れる最初の数は次のとおりです。最小公倍数。
2つ目の思考方法
2. コード
以下にその一部を示します内联代码片
。
// 法一 效率低
//一个整形能表示的范围是四十二亿多
int main()
{
long long a, b;
scanf("%lld %lld", &a, &b);
// 求最小公倍数
long long m = a > b ? a : b; //假设a和b的较大值就是我们的最小公倍数
while (1)
{
if (m % a == 0 && m % b == 0)
{
break;
}
m++;
}
printf("%lld\n", m);
return 0;
}
// 法二
//
int main()
{
long long a, b;
scanf("%lld %lld", &a, &b);
// 求最小公倍数
long long i = 1;
while (a * i % b )
{
i++;
}
printf("%lld", a*i);
return 0;
}