在 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

结论

如果您在本教程中遇到任何疑问,请在评论区提出。

更新于:2021年2月1日

88 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告