与えられた数がdの累乗であるかどうかを確認します。ここで、Pythonではdは2の累乗です。
数値nと別の値xがあるとすると、それがxの累乗であるかどうかを確認する必要があります。ここで、xは2の累乗です。
したがって、入力がn =32768 x =32の場合、nはx ^ 3であるため、出力はTrueになります。
これを解決するには、次の手順に従います-
- メインの方法から次のようにします-
- cnt:=0
- nが0でなく、(n AND(n --1))が0と同じである場合、
- n> 1の場合、do
- n =n / 2
- cnt:=cnt + 1
- return cnt mod(log c base 2)は0と同じです
- n> 1の場合、do
- Falseを返す
例
理解を深めるために、次の実装を見てみましょう-
def find_pow_of_2(n): return (1 + find_pow_of_2(n / 2)) if (n > 1) else 0 def solve(n, c): cnt = 0 if n and (n & (n - 1)) == 0: while n > 1: n >>= 1 cnt += 1 return cnt % (find_pow_of_2(c)) == 0 return False n = 32768 x = 32 print(solve(n, x))
入力
32768, 32
出力
True
-
与えられた番号がPythonプログラムでフィボナッチ数であるかどうかを確認するにはどうすればよいですか?
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数nが与えられたら、nがフィボナッチ数であるかどうかを確認します n番目のフィボナッチ数は前の2つのフィボナッチ数の合計であることは誰もが知っています。しかし、それらは漸化式以外の興味深い関係も提供します。 (5 * n2 + 4)または(5 * n2 – 4)が完全な正方形である場合に限り、数値は本質的にフィボナッチです。 このプロパティを使用して、数値がフィボナッチであるかどうかを確認します。 では、Pythonスクリプトの実装を見てみましょう- 例 import math # if x is p
-
与えられた数がフィボナッチ数であるかどうかをチェックする方法のためのPythonプログラム?
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数nが与えられたら、nがフィボナッチ数であるかどうかを確認します n番目のフィボナッチ数は前の2つのフィボナッチ数の合計であることは誰もが知っています。しかし、それらは漸化式以外の興味深い関係も提供します。 (5 * n2 + 4)または(5 * n2 – 4)が完全な正方形である場合に限り、数値は本質的にフィボナッチです。 このプロパティを使用して、数値がフィボナッチであるかどうかを確認します。 では、Pythonスクリプトの実装を見てみましょう- 例 import math # if x is p