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

与えられた整数がC++で3の累乗であるかどうかを調べます


この問題では、整数Nが与えられます。私たちのタスクは、与えられた整数が3の累乗であるかどうかを見つけることです。 。

問題を理解するために例を見てみましょう

Input : N = 729
Output : Yes

説明

36 = 719

ソリューションアプローチ

この問題の解決策は、3の累乗の値をチェックすることです。指定された数値Nが1162261467(3 19 )で除算されるかどうかをチェックします。 )。 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

  1. 数値が2の累乗であるかどうかを調べるC++プログラム?

    与えられた数が2の累乗であるかどうかを確認します。最初に、どの数が2の累乗であるかを確認します。このコードは、数値が奇数かどうかをチェックし、0または奇数になるまで同時に除算します。 0になると2の累乗になり、そうでない場合はそうではありません。 より良い選択は、番号のログを取ることです。整数の場合、nは2の累乗です。それ以外の場合はそうではありません。 2の累乗である数: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 ... 22 = 4 25 = 32 210 = 1024 Input: 8 Output: Number is pow

  2. 2つの特定のノード間にパスが存在するかどうかを確認するC++プログラム

    これは、指定された2つのノード間にパスが存在するかどうかを確認するC++プログラムです アルゴリズム Begin    function isReach() is a recursive function to check whether d is reachable to s:    A) Mark all the vertices as unvisited.    B) Mark the current node as visited and enqueue it and it will be used to get all ad