在 C++ 中查找给定的整数是否是 3 的幂


在这个问题中,我们给定一个整数 N。我们的任务是找出给定的整数是否是 3 的幂

我们举个例子来理解这个问题,

Input : N = 729
Output : Yes

说明

36 = 719

解决方案方法

这个问题的解决方案是检查 3 的幂的值。我们将检查给定的数字 N 是否除以 1162261467 (319)。如果它是 3 的幂,则余数将为 0,即 N 将除以它。如果不是,则该数字不是 3 的幂。

示例

程序来说明我们解决方案的工作原理

#include <iostream>
using namespace std;
bool isPowerOf3(int n){
   if (n <= 0)
      return false;
   return 1162261467 % n == 0;
}
int main(){
   int n = 27;
   if (isPowerOf3(n))
      cout<<"The number is a power of 3";
   else
      cout<<"The number is not a power of 3";
   return 0;
}

输出

The number is a power of 3

更新于:01-Feb-2022

649 次浏览

开启你的职业

完成课程获得认证

开始吧
广告