今日の人気記事

  1. printf関数の変換指定子
  2. 乱数 - サイコロをつくってみよう
  3. 入力した整数が偶数か奇数かを判別する
  4. 条件演算子(3項演算子)「? :」
  5. continue文 - ループをスキップ

入力した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つの自然数の最小公倍数を計算して、出力します。

サンプルプログラム の人気記事

  1. 配列に格納した数値を昇順ソートする
  2. サンプルプログラム集
  3. 入力した2つの数値を交換する
  4. 入力した行列の積(掛け算)を計算する
  5. 2次方程式の解を計算する
  6. 入力した文字列の文字数を表示する(出力)
  7. 乱数 - 1〜10のランダムな数値を出力する
  8. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)
  9. 入力した整数が偶数か奇数かを判別する
  10. 10進数を2進数に変換する

関連記事(一部広告含む)