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

Pythonで一意の数のn乗の合計である数を取得できる方法の数を見つけるためのプログラム


数xと別の数nがあるとします。いくつかの一意の数のn乗の合計としてxを取得できる方法をいくつか見つける必要があります。

したがって、入力がx =100 n =2の場合、可能な解は6 ^ 2 + 8 ^ 2、10 ^ 2、および1 ^ 2 + 3 ^ 2 + 4 ^ 2 + 5 ^であるため、出力は3になります。 2 + 7^2。

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

  • ans:=0
  • solve()と呼ばれるメソッドを定義します。これは4つのパラメーターx、n、cn、cs、初期値を取ります
  • cs =0、cn=1の値
  • p:=cn ^ n
  • p + cs
  • ans:=ans + resolve(x、n、cn + 1、p + cs)
  • cn:=cn + 1
  • p:=cn ^ n
  • p + csがxと同じ場合、
    • ans:=ans + 1
  • 回答を返す
  • 理解を深めるために、次の実装を見てみましょう-

    from math import pow
    
    def solve(x, n, cn = 1, cs = 0):
       ans = 0
       p = pow(cn, n)
       while p + cs < x:
          ans += solve(x, n, cn + 1, p + cs)
          cn = cn + 1
          p = pow(cn, n)
    
       if p + cs == x:
          ans = ans + 1
       return ans
    
    x = 100
    n = 2
    print(solve(x, n))
    >

    入力

    100, 2
    

    出力

    3

    1. PythonでN番目のフィボナッチ数を見つけるプログラム

      数nがあるとすると、n番目のフィボナッチ項を見つける必要があります。 i番目のフィボナッチ項f(i)=f(i-1)+ f(i-2)がわかっているので、最初の2つの項は0、1です。 したがって、入力が15のような場合、出力は610になります。 これを解決するには、次の手順に従います- 最初:=0、2番目:=1 2からnの範囲のiについては、 temp:=1番目+2番目 最初:=2番目 秒:=一時 2番目に戻る 理解を深めるために、次の実装を見てみましょう- 例 class Solution:    def solve(self, n):   &n

    2. Pythonプログラムで数の偶数因子の合計を見つける

      この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、数値のすべての偶数因子の合計を表示する必要があります。 アプローチ 数値が奇数かどうかを確認し、偶数の因子がないため、0を返します。 数が偶数の場合、計算を実行します。 20を除く他のすべての項は、偶数の因数の合計を生成するために乗算されます。 偶数因子のすべての奇数を削除するために、1である20を無視します。このステップの後、偶数因子のみを取得しました。 2は私たちが利用できる唯一の素数であることに注意してください。 次に、以下の実装を見てみましょう- 例 # math