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

PythonでReorderedPowerof2を見つけるプログラム


正の整数Nがあるとすると、先頭の数字がゼロ以外になるように、任意の順序(元の順序を含む)で数字を並べ替えます。結果の数値が2の累乗になるような方法でこれを実行できるかどうかを確認する必要があります。

したがって、入力がN =812のような場合、出力はTrueになります

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

  • i:=1

  • i <=1000000000、実行

    • s:=文字列としてのi

    • s:=sの文字を並べ替える

    • 文字列としてのt:=n

    • t:=tの文字を並べ替える

    • sがtと同じ場合、

      • Trueを返す

    • i:=i * 2

  • Falseを返す

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

def solve(n):
   i=1
   while i<=1000000000:

      s=str(i)
      s=''.join(sorted(s))
      t=str(n)
      t=''.join(sorted(t))
      if s==t:
         return True

      i=i*2

   return False

N = 812
print(solve(N))

入力

812

出力

True

  1. Pythonでポリゴンの周囲を見つけるプログラム

    順序付けられたポイントのリストが2D平面上の単純なポリゴンエンドポイントを表すとします。このポリゴンの周囲を見つける必要があります。 したがって、入力がpoints =[(0、0)、(0,5)、(3、5)、(3,0)]のような場合、出力は16になります。 2つの辺の長さは3で、2つの辺の長さは5なので、2 * 5 + 2 * 3=16です。 これを解決するには、次の手順に従います- 関数getInfo()を定義します。これにはx1、y1、x2、y2が必要です ユークリッド距離である((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))の平方根を返します (x1、y1)

  2. いいえが2の累乗であるかどうかを調べるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 数nが与えられた場合、与えられた数が2の累乗であるかどうかを確認する必要があります。 アプローチ 入力数を2で割り続けます。つまり、=n/2を繰り返します。 各反復で、n%2がゼロ以外になり、nが1でない場合、nは2の累乗ではないことを確認します。 nが1になると、2の累乗になります。 以下の実装を見てみましょう- 例 def isPowerOfTwo(n):    if (n == 0):       retur