在 C++ 中判断给定数字是否为 4 的幂


在这个问题中,我们得到了一个整数 N。我们的任务是判断给定的整数是否是 4 的幂

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

Input : N = 64
Output : Yes

说明

43 = 64

解决方案方法

解决这个问题的一个简单方法是递归地将数字除以 4,并检查所得数字是否可以除以 4。如果递归除法后的值变为 1,则返回 true。

示例

演示我们解决方案工作原理的程序

#include <iostream>
using namespace std;
bool isPowerOf4(int n){
   if(n == 0)
   return 0;
   while(n != 1)
   {
      if(n % 4 != 0)
         return 0;
      n = n / 4;
   }
   return 1;
}
int main(){
   int n = 123454;
   if (isPowerOf4(n))
      cout<<"The number is a power of 4";
   else
      cout<<"The number is not a power of 4";
   return 0;
}

输出

The number is not a power of 4

更新于: 2022 年 2 月 1 日

652 次浏览

启动你的 职业

通过完成课程,获得认证

开始
广告