与えられた整数が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
-
数値が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つの特定のノード間にパスが存在するかどうかを確認する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