入力した2つの自然数の最小公倍数を求める
当ページのリンクには広告が含まれています。
スポンサーリンク
入力した2つの自然数の最小公倍数を求めるサンプルプログラムを紹介します。
最小公倍数
2つの自然数 a, b の最大公約数を GCD とすると最小公倍数 LCM は次の公式から求めることができます。
$$ LCM = \frac{a \times b}{GCD} $$サンプルプログラム
それではサンプルプログラムをみてみましょう。
/*
* C言語のサンプルプログラム - Webkaru
* - 入力した2つの自然数の最小公倍数を求める -
*/
#include <stdio.h>
int main(void)
{
int a, b, r, x, tmp;
printf("2つの自然数を入力してください。\n");
printf("1つ目の自然数 = ");
scanf("%d", &a);
printf("2つ目の自然数 = ");
scanf("%d", &b);
x = a * b;
/* 自然数 a > b を確認・入替 */
if(a<b){
tmp = a;
a = b;
b = tmp;
}
/* ユークリッドの互除法 */
r = a % b;
while(r!=0){
a = b;
b = r;
r = a % b;
}
/* 最小公倍数を出力 */
printf("最小公倍数 = %d\n", x/b);
return 0;
}
サンプルプログラムで使っている構文
実行結果
いくつかの実行結果です。
2つの自然数を入力してください。 1つ目の自然数 = 2 2つ目の自然数 = 3 最小公倍数 = 6
2つの自然数を入力してください。 1つ目の自然数 = 5 2つ目の自然数 = 12 最小公倍数 = 60
2つの自然数を入力してください。 1つ目の自然数 = 11 2つ目の自然数 = 34 最小公倍数 = 374
このように入力した2つの自然数の最小公倍数を計算して、出力します。