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

Pythonで数値が3の累乗の合計であるかどうかを確認するプログラム


数nがあるとすると、nを3のべき乗の合計として表すことができるかどうかを確認する必要があります。 y =3 ^ xのような整数xが存在する場合、整数yは3の累乗であると言われます。

したがって、入力がn =117の場合、117 =3 ^ 4 + 3 ^ 3 + 3 ^ 2 + =81 + 27 + 9であるため、出力はTrueになります。

これを解決するには、次の手順に従います-

  • 16から0の範囲のiの場合、1ずつ減らします。

    • n> =3 ^ iの場合、

      • n:=n-3 ^ i

  • n> 0の場合、

    • Falseを返す

  • Trueを返す

理解を深めるために、次の実装を見てみましょう-

def solve(n):
   for i in range(16, -1, -1):
      if n >= pow(3,i):
         n -= pow(3,i)

   if n > 0:
      return False

   return True

n = 117
print(solve(n))
を返します

入力

117

出力

True

  1. アームストロング数をチェックするPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 整数nが与えられた場合、与えられた整数がアームストロング数であることを確認する必要があります。 正の整数は、次の場合、n次のアームストロング数と呼ばれます abcd... = a^n + b^n + c^n + d^n + … ここでは、3桁のアームストロング数、つまり3桁のブルートフォースアプローチについて説明します。 オーダーnのアームストロング番号を確認するには、3を行番号7の対応するオーダー値に置き換える必要があります。 それでは、実装を見てみましょう- 例

  2. 与えられた番号がPythonプログラムでフィボナッチ数であるかどうかを確認するにはどうすればよいですか?

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数nが与えられたら、nがフィボナッチ数であるかどうかを確認します n番目のフィボナッチ数は前の2つのフィボナッチ数の合計であることは誰もが知っています。しかし、それらは漸化式以外の興味深い関係も提供します。 (5 * n2 + 4)または(5 * n2 – 4)が完全な正方形である場合に限り、数値は本質的にフィボナッチです。 このプロパティを使用して、数値がフィボナッチであるかどうかを確認します。 では、Pythonスクリプトの実装を見てみましょう- 例 import math # if x is p