006 繰り返し(for文のネスト) 009 解答例

public class FibonacciSequence {
    public static void main(String[] args) {
        int n = 10; // 最初の10個のフィボナッチ数列を表示

        int firstNumber = 0;
        int secondNumber = 1;

        System.out.println("フィボナッチ数列:");

        // ネストされたfor文を使用してフィボナッチ数列を生成
        for (int i = 1; i <= n; i++) {
            System.out.print(firstNumber + " ");

            // 次の数を計算
            int nextNumber = firstNumber + secondNumber;

            // 前の2つの数を更新
            firstNumber = secondNumber;
            secondNumber = nextNumber;
        }
    }
}

このプログラムでは、外側のfor文が1から10までの数を取り、内側のfor文でフィボナッチ数列を生成しています。各繰り返しで現在の数を表示し、次の数を計算しています。上記の例では、初期の2つの数を 0 と 1 にし、その後の数を前の2つの数の和として計算しています。

for文の中で変数を更新する

for文の中で変数を更新する手法は、for文内で変数を使用して計算を行い、その結果を変数に格納して更新するプログラミングの手法です。これは、特に繰り返し処理において変数の状態を変化させる必要がある場合によく使用されます。以下に、この手法の解説を具体的な例を交えながら説明します。

上記の解答例の場合、for文内で変数を更新して、次のステップでの計算に使います。

  1. 初期の変数:
    • フィボナッチ数列の最初の2つの数は通常 0 と 1 です。これらの変数を初期化します。
  2. for文での変数の更新:
    • for文の中で次の数を計算し、変数を更新します。
    • 例: nextNumber = firstNumber + secondNumber;
  3. 変数の交換:
    • 更新された変数を次の計算に備えて交換します。
    • 例: firstNumber = secondNumber; および secondNumber = nextNumber;

「006 繰り返し」問題集リスト