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

C++で2^(2 ^ A)%Bを検索します


このチュートリアルでは、方程式2 ^(2 ^ A)%Bを評価するプログラムを作成します。

再帰関数を使用して方程式の値を見つけます。問題を解決するための手順を見てみましょう。

  • 2つの引数AとBを取る再帰関数を記述します。

    • Aが1の場合、4%Bを2 ^(2 ^ 1)%B =4%Bとして返します。

    • それ以外の場合は、A-1とbを使用して関数を再帰的に呼び出します。

    • 結果を返します^2%B。

  • ソリューションを印刷する

コードを見てみましょう。

#include <bits/stdc++.h>
using namespace std;
long long solveTheEquation(long long A, long long B) {
   // 2^(2^1) % B = 4 % B
   if (A == 1) {
      return (4 % B);
   }
   else {
      long long result = solveTheEquation(A - 1, B);
      return result * result % B;
   }
}
int main() {
   long long A = 37, B = 467;
   cout << solveTheEquation(A, B) << endl;
   return 0;
}

出力

上記のコードを実行すると、次の結果が得られます。

113

結論

チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。


  1. C++で三角形の周囲を検索

    この問題では、三角形の周囲長、さまざまなタイプの三角形の周囲長の式、およびそれらを見つけるためのプログラムを確認します。 境界 フィギュアの周りの合計距離として定義されます。基本的に、それは与えられた図のすべての辺の合計です。 三角形の周囲 三角形の周囲は、その3つの辺すべての合計です(三角形は3つの辺の図です)。 式、 Perimeter = sum of all sides Perimeter = x + y + z 三角形の周囲を見つけるプログラム 例 #include <iostream> using namespace std; int calcPe

  2. C++で重複するサブツリーを検索する

    二分木があるとします。重複するすべてのサブツリーを見つける必要があります。したがって、重複するサブツリーの種類ごとに、それらのいずれかのルートノードを返す必要があります。したがって、-のようなツリーがあるとします。 重複するサブツリーは-です これを解決するには、次の手順に従います- 配列retを作成し、マップを作成しますm 再帰メソッドsolve()を定義します。これはノードを入力として受け取ります。これは次のように機能します- ノードがnullの場合、-1を返します x:=ノードの値を文字列として、「#」を連結します。 左:=ソルブ(ノードの左)、右:=ソルブ(ノード