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

Pythonで4つのパラメーターを持つ与えられた方程式の解の数を見つけるためのプログラム


a、b、c、dの4つの数があり、次の方程式に従うようなペアの数(x、y)を見つける必要があるとします。x^ 2 + y ^ 2 =(x * a)+( y * b)ここで、xは範囲[1、c]にあり、yは範囲[1、d]にあります

したがって、入力がa =2 b =3 c =2 d =4の場合、1つのペアが(1、1)であるため、出力は1になります。

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

  • ans:=0
  • 1からcの範囲のxについては、
    • l:=x *(x-a)
    • det2:=b * b-4 * l
    • det2が0と同じで、bが偶数で、1 <=(b / 2)のフロア<=dの場合、
      • ans:=ans + 1
      • 次の反復に進む
    • det2> 0の場合、
      • det:=det2の平方根の整数部分
      • det ^ 2がdet2と同じで、(b + det)が偶数の場合、
        • 1 <=(b + det)/ 2 <=dのフロアの場合、
          • ans:=ans + 1
        • 1 <=(b-det)/ 2 <=dのフロアの場合、
          • ans:=ans + 1
  • 回答を返す

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

def solve(a, b, c, d):
   ans = 0
   for x in range(1,c+1):
      l = x*(x-a)

      det2 = b*b - 4*l
      if det2 == 0 and b%2 == 0 and 1 <= b//2 <= d:
         ans += 1
         continue
      if det2 > 0:
         det = int(round(det2**0.5))
         if det*det == det2 and (b+det) % 2 == 0:
            if 1 <= (b+det)//2 <= d:
               ans += 1
            if 1 <= (b-det)//2 <= d:
               ans += 1
   return ans

a = 2
b = 3
c = 2
d = 4
print(solve(a, b, c, d))

入力

2, 3, 2, 4

出力

1

  1. 数の最大の素因数を見つけるためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 正の整数nが与えられます。数の最大の素因数を見つける必要があります。 アプローチ 指定された数値を数値の約数で割って因数分解します。 最大素因数を更新し続けます。 例 import math def maxPrimeFactor(n):    # number must be even    while n % 2 == 0:       max_Prime = 2       n /= 1  

  2. 与えられた数がフィボナッチ数であるかどうかをチェックする方法のためのPythonプログラム?

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