再帰を使用して電力を計算するC++プログラム
数値の累乗はx^yとして計算できます。ここで、xは数値、yはその累乗です。
たとえば。
Let’s say, x = 2 and y = 10 x^y =1024 Here, x^y is 2^10
再帰を使用してパワーを見つけるプログラムは次のとおりです。
例
#include <iostream> using namespace std; int FindPower(int base, int power) { if (power == 0) return 1; else return (base * FindPower(base, power-1)); } int main() { int base = 3, power = 5; cout<<base<<" raised to the power "<<power<<" is "<<FindPower(base, power); return 0; }
出力
3 raised to the power 5 is 243
上記のプログラムでは、関数findPower()は再帰関数です。累乗がゼロの場合、0に累乗された数値は1であるため、関数は1を返します。累乗が0でない場合、関数は再帰的に自分自身を呼び出します。これは、次のコードスニペットを使用して示されています。
int FindPower(int base, int power) { if (power == 0) return 1; else return (base * findPower(base, power-1)); }
main()関数では、findPower()関数が最初に呼び出され、数値の累乗が表示されます。
これは、以下のコードスニペットで確認できます。
3 raised to the power 5 is 243
-
ツリーのサイズを計算するプログラムを作成する-C++での再帰
この問題では、ツリーが与えられ、再帰を使用してツリーのサイズを計算するプログラムを作成することがタスクです。 ツリーのサイズは、ツリーに存在するノードの総数です。 問題を理解するために例を見てみましょう 上記の木のサイズは5です。 ツリーのサイズを見つけるには、左のサブツリーと右のサブツリーのサイズを追加してから、1ずつインクリメントする必要があります。再帰関数は、ツリーの左と右の両方のサブツリーに対して呼び出されます。また、サブツリーが見つからない場合は0を返します。 この方法を使用して解決された上記の例 木のサイズを見つけるには、 size(3)=size(5)+
-
C++を使用して再帰を使用せずにルートからリーフへのパスを出力するプログラム
このチュートリアルでは、ルートノードから特定のバイナリツリー内のすべてのリーフノードへのパスを出力するプログラムについて説明します。 たとえば、次の二分木があるとしましょう この二分木には、4つのリーフノードがあります。したがって、ルートノードからリーフノードへのパスは4つになります。 これを解決するために、反復アプローチを使用します。二分木のプレオーダートラバーサルを実行している間、マップに親ポインタを格納できます。トラバーサル中にリーフノードに遭遇したときはいつでも、親ポインタを使用してルートノードからそのパスを簡単に出力できます。 例 #include <bits/st