反復処理を使ってフィボナッチ数列を求めるC++プログラム
以下に、反復処理(ループ)を使ってフィボナッチ数列を求めるC++プログラムの例を示します。
サンプルコード
#include <iostream>
using namespace std;
void fib(int num) {
int x = 0, y = 1, z = 0;
for (int i = 0; i < num; i++) {
cout << x << " ";
z = x + y;
x = y;
y = z;
}
}
int main() {
int num;
cout << "Enter the number : ";
cin >> num;
cout << "\nThe fibonacci series : ";
fib(num);
return 0;
}
実行結果
Enter the number : 10 The fibonacci series : 0 1 1 2 3 5 8 13 21 34
プログラムの解説
上記のプログラムでは、フィボナッチ数列を計算する本体のコードが、関数 fib() の中に実装されています。
void fib(int num) {
int x = 0, y = 1, z = 0;
for (int i = 0; i < num; i++) {
cout << x << " ";
z = x + y;
x = y;
y = z;
}
}
この関数の仕組みは以下のとおりです。
- 変数
xを 0、変数yを 1 で初期化します。これらはフィボナッチ数列の最初の2つの値に相当します。 - for ループによって、引数
numで指定された回数だけ繰り返し処理を行い、毎回現在の値xを出力します。 - 続いて
z = x + yで次の項を計算し、x = y、y = zと値を一つずつずらしていくことで、数列を順番に生成していきます。
main() 関数では、ユーザーから表示したい項数を入力として受け取ります。その後、関数 fib() を呼び出すことで、フィボナッチ数列が出力されます。
cout << "Enter the number : "; cin >> num; cout << "\nThe fibonacci series : "; fib(num);
-
C++で楕円の面積を求めるプログラムの作成方法
この記事では、C++を使って楕円(だえん)の面積を求める方法を解説します。楕円にはいくつかの重要な構成要素があり、それぞれの意味を理解しておくと計算の仕組みがより明確になります。楕円の主な構成要素要素説明中心楕円の中心点。2つの焦点を結ぶ線分の中点でもあります。長軸楕円における最も長い直径です。短軸楕円における最も短い直径です。弦楕円上の2点を結ぶ線分のことです。焦点楕円を定義する2つの特別な点。図中に示された2点が該当します。通径焦点を通り、長軸に対して垂直な直線(線分)のことです。楕円の面積の公式楕円の面積は、長半径 a と短半径 b を使って次の式で表されます。面積 = π × a ×
-
C++で再帰を使って最大公約数(GCD)を求めるプログラム
2つの数の最大公約数(GCD:Greatest Common Divisor)とは、その両方の数を割り切ることができる最大の整数のことです。例として、63と42という2つの数を考えてみましょう。63 = 7 × 3 × 3 42 = 7 × 3 × 2 したがって、63と42のGCDは 21このように、共通する約数は「7」と「3」であり、その積である21が最大公約数となります。ここでは、再帰(リカージョン)を使って2つの数のGCDを求めるC++プログラムを2つの方法で紹介します。方法1:減算による再帰1つ目の方法は、大きい方の数から小さい方の数を引く操作を再帰的に繰り返すアプローチです。これは