কম্পিউটার টিউটোরিয়াল

Python-এ চারটি প্যারামিটার বিশিষ্ট সমীকরণের সমাধান সংখ্যা বের করার প্রোগ্রাম


মান লেট a, b, c এবং d চারটি সংখ্যা। আমাদের (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)।

এটি সমাধান করতে, আমরা নিচের পদক্ষেপগুলো অনুসরণ করব −

  • ans := 0
  • x 1 থেকে c পর্যন্ত রেঞ্জে, করুন
    • l := x*(x-a)
    • det2 := b*b - 4*l
    • যদি det2 ০-এর সমান হয় এবং b জোড় হয় এবং 1 <= floor of (b/2) <= d, তবে
      • ans := ans + 1
      • নেক্সট ইটারেশনে যান
    • যদি det2 > 0, তবে
      • det := integer part of the square root of det2
      • যদি det^2 det2-এর সমান হয় এবং (b+det) জোড় হয়, তবে
        • যদি 1 <= floor of (b+det)/2 <= d, তবে
          • ans := ans + 1
        • যদি 1 <= floor of (b-det)/2 <= d, তবে
          • ans := ans + 1
  • ans রিটার্ন করুন

উদাহরণ

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশন দেখুন −

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. পাইথনে একটি সংখ্যার বিষম গুণনীয়গুলোর যোগফল বের করার প্রোগ্রাম

  2. পাইথনে একটি সংখ্যার জোড় গুণনীয়গুলোর যোগফল বের করার প্রোগ্রাম

  3. পাইথনে একটি সংখ্যার সর্বোচ্চ质因数 বের করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম: একটি দেয়া সংখ্যা ফিবোনাচ্চি সংখ্যা কিনা যাচাই করা