【アルゴリズム入門 Q017】1から指定の数まで、指定の倍数を縦に表示

アルゴリズム アルゴリズム

こんにちは。ECF代表のヒガです。

本記事では初心者向けアルゴリズムの演習問題を紹介しています。日頃のプログラミング学習にご活用ください。

はじめに

アルゴリズムとは、コンピューターに行わせる計算手順のことです。自在にプログラムを作るには、プログラム言語の文法の知識とともにアルゴリズムの考え方を身につけることが必要になります。

アルゴリズム技法習得の肝は「繰り返し」の活用です。この連載では、簡単な題材で繰り返しを使うアルゴリズムの基本パターンを練習していきます。

演習問題の一覧や勉強スタイルについてのアドバイスはこちらからどうぞ。

【プログラミング初心者向け】アルゴリズム入門 演習問題集 〜 繰り返しをマスターしよう!
こんにちは。ECF代表のヒガです。 プログラミング初心者向けアルゴリズム演習問題の連載記事まとめです。日頃のプログラミング学習、講義、研修等での演習にご活用ください。 「繰り返しアルゴリズム」をマスターしよう アルゴリズムとは...

Q017 1から指定の数まで、指定の倍数を縦に表示

複数行にわたり、1から指定の数の間にある倍数を順に表示してください。ただし、最終値となる数と対象の倍数(何の倍数を表示するか)はプログラムの先頭で変数に代入することで指定してください。

最終の値に「20」、対象倍数に「4」を指定した場合の実行例は次のとおりです。

また、今回作成するフローチャートやプログラムは、Q014をベースにしてください。つまり1から順に繰り返す中で表示対象の倍数だけをピックアップ(条件分岐)して表示する、ということを前提にアルゴリズムを組み立ててください。

【アルゴリズム入門 Q014】1から指定の数まで縦に表示
こんにちは。ECF代表のヒガです。 本記事では初心者向けアルゴリズムの演習問題を紹介しています。日頃のプログラミング学習にご活用ください。 はじめに アルゴリズムとは、コンピューターに行わせる計算手順のことです。自在にプログラムを...

ヒント

xの倍数は「xで割った余りが0である」という条件から判断することができます。この条件を使った条件分岐をQ014のループに組み込みましょう。

解答例と解説

考え方

まず最初に「何を繰り返す」かを考えます。今回の場合は

  • 数を表示する(改行有り)

を繰り返すことになります。ただし、すべての数を無条件に表示するのではなく、指定の倍数かどうかを判断する必要がありますので、その辺りを付け加えると、

  • 数が指定の倍数の場合、数を表示する(改行有り)

を繰り返すことことになります。

条件は指定値と繰り返しのカウンタ変数の値を使って設定しましょう。箇条書きでまとめると、

  1. 最後の数を指定する(変数に代入する)
  2. 表示対象の倍数を指定する(変数に代入する)
  3. 次の動作を1から指定の数まで繰り返す
    1. カウンタ変数の値が指定の倍数となっているか判断する
      1. 指定の倍数の場合
        1. カウンタ変数の値を表示する
        2. 改行する

という流れになります。

具体的に倍数かどうかを判断するには、その数を指定の倍数で割った余りが0かどうかを調べます。割り切れた(余りが0)なら倍数ですし、割り切れなかった(余りが0以外)なら倍数では有りません。「割った余りを求める」ということで、剰余演算の出番となります。

フローチャート例

Javaでの実装例

public class Q017 {
    public static void main(String[] args) {
        int n = 20; // 表示の最大値
        int bai = 4; // 倍数の指定
        
        for (int i = 1; i <= n; i++) {
            if (i % bai == 0) { // 指定の倍数で割り切れるか
                System.out.println(i);
            }
        }
    }
}

上のフローチャートとの対応からプログラム実装例の流れを確認しましょう。繰り返し文の中でif文を使うパターンとなります。

おわりに

条件分岐を繰り返していく、Q006であったパターンの応用でした。

【アルゴリズム入門 Q006】2つの文字を交互に並べる(条件分岐と繰り返し)
こんにちは。ECF代表のヒガです。 本記事では初心者向けアルゴリズムの演習問題を紹介しています。日頃のプログラミング学習にご活用ください。 はじめに アルゴリズムとは、コンピューターに行わせる計算手順のことです。自在にプログラムを作る...

今回はカウンタ変数を表示に使う、という点でQ014からの流れでの紹介となりました。

繰り返し文は、条件分岐との組み合わせで多種多様なアルゴリズムを実現できます。このパターンはしっかりと応用できるようにしましょう。

次回はこちらです。

【アルゴリズム入門 Q018】指定の数から1まで縦に表示
こんにちは。ECF代表のヒガです。 本記事では初心者向けアルゴリズムの演習問題を紹介しています。日頃のプログラミング学習にご活用ください。 はじめに アルゴリズムとは、コンピューターに行わせる計算手順のことです。自在にプログラムを...

合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報、また関連するご相談・問い合わせにつきましては下記よりご確認ください。

ECFエデュケーション
キッズも大人も。沖縄からITのマナビを応援します
タイトルとURLをコピーしました