C#でフィボナッチ数列を生成・表示する方法
フィボナッチ数列とは、各項が直前の2つの項の合計になるという規則で構成される数列です。C#でフィボナッチ数列を求めるには、まず数列の最初の2つの数値を 0 と 1 に設定します。
int val1 = 0, val2 = 1, val3;
フィボナッチ数列の計算ロジック
次に、2からnまでの範囲でループ処理を行い、フィボナッチ数列を順番に求めていきます。数列内の各数値は、直前の2つの要素の合計として以下のように計算できます。
for(i=2;i<n;++i) {
val3 = val1 + val2;
Console.Write(val3+" ");
val1 = val2;
val2 = val3;
}ループ内では、まず新しい値 val3 を val1 と val2 の合計として算出し、画面に出力します。その後、val1 と val2 の値を1つずつずらすことで、次の項の計算に備えます。
完全なサンプルコード
C#でフィボナッチ数列を表示するための完全なコードは以下の通りです。
using System;
public class Demo {
public static void Main(string[] args) {
int val1 = 0, val2 = 1, val3, i, n;
n = 7;
Console.WriteLine("Fibonacci series:");
Console.Write(val1+" "+val2+" ");
for(i=2;i<n;++i) {
val3 = val1 + val2;
Console.Write(val3+" ");
val1 = val2;
val2 = val3;
}
}
}出力結果
Fibonacci series: 0 1 1 2 3 5 8
このプログラムでは、変数 n に 7 を設定しているため、フィボナッチ数列の最初の7つの項「0, 1, 1, 2, 3, 5, 8」が出力されます。最初の2つの値は事前に Console.Write() で表示し、残りの項をfor文で順次計算・出力するシンプルかつ効率的な実装となっています。n の値を変更すれば、任意の項数のフィボナッチ数列を簡単に表示できます。
-
Pythonのラムダ式でフィボナッチ数列を生成する2つの方法
フィボナッチ数列は、自然界の多くの現象を説明することでも知られる、非常に有名な数学的数列です。0と1から始まり、「直前の2項の合計」を次の項として加えていくことで数列が伸びていきます。本記事では、Pythonのラムダ式(無名関数)を使って、指定した個数のフィボナッチ数列を生成する2つの方法を紹介します。 方法1:sum関数とmap関数を組み合わせる まずはmap関数を使い、リストの各要素にラムダ関数を適用する方法です。リストのスライスで直前の2項を取り出してsumで合計し、その結果をリストに追加していきます。range関数で生成する項数を制御するのがポイントです。 サンプルコード def fi
-
【Python】フィボナッチ数列におけるkのn番目の倍数の位置を求める方法
この記事では、「フィボナッチ数列の中に現れるある数の倍数」をテーマに、Pythonでの解法をサンプルコードとともにわかりやすく解説します。 問題の概要 整数 k と n が与えられたとき、フィボナッチ数列の中で k の n 番目の倍数が何番目の項として現れるかを求めます。 例えば「k = 4 の 5 番目の倍数」なら、フィボナッチ数列を順にたどりながら 4 の倍数になっている項を探し、そのうち 5 番目に該当する項の位置を出力します。 解法のポイント フィボナッチ数列を k で割った余りには周期性があるため、k の倍数となる項は等間隔で出現します。最初に k の倍数になった項の位置を i