C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

再帰を使用して電力を計算する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

  1. ツリーのサイズを計算するプログラムを作成する-C++での再帰

    この問題では、ツリーが与えられ、再帰を使用してツリーのサイズを計算するプログラムを作成することがタスクです。 ツリーのサイズは、ツリーに存在するノードの総数です。 問題を理解するために例を見てみましょう 上記の木のサイズは5です。 ツリーのサイズを見つけるには、左のサブツリーと右のサブツリーのサイズを追加してから、1ずつインクリメントする必要があります。再帰関数は、ツリーの左と右の両方のサブツリーに対して呼び出されます。また、サブツリーが見つからない場合は0を返します。 この方法を使用して解決された上記の例 木のサイズを見つけるには、 size(3)=size(5)+

  2. C++を使用して再帰を使用せずにルートからリーフへのパスを出力するプログラム

    このチュートリアルでは、ルートノードから特定のバイナリツリー内のすべてのリーフノードへのパスを出力するプログラムについて説明します。 たとえば、次の二分木があるとしましょう この二分木には、4つのリーフノードがあります。したがって、ルートノードからリーフノードへのパスは4つになります。 これを解決するために、反復アプローチを使用します。二分木のプレオーダートラバーサルを実行している間、マップに親ポインタを格納できます。トラバーサル中にリーフノードに遭遇したときはいつでも、親ポインタを使用してルートノードからそのパスを簡単に出力できます。 例 #include <bits/st