কম্পিউটার

পাইথনে অনন্য সংখ্যার nম শক্তির যোগফল যা আমরা একটি সংখ্যা পেতে পারি তার সংখ্যা খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের একটি সংখ্যা x এবং আরেকটি সংখ্যা n। কিছু অনন্য সংখ্যার nম ঘাতের যোগফল হিসাবে আমরা x পেতে পারি এমন কয়েকটি উপায় আমাদের খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি x =100 n =2 এর মত হয়, তাহলে আউটপুট 3 হবে কারণ সম্ভাব্য সমাধানগুলি হল 6^2 + 8^2, 10^2 এবং 1^2 + 3^2 + 4^2 + 5^ 2 + 7^2।

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

  • উত্তর :=0
  • সল্ভ() নামক একটি পদ্ধতির সংজ্ঞা দিন এতে চারটি প্যারামিটার লাগবে x, n, cn এবং cs, প্রাথমিক
  • cs =0, cn =1 এর জন্য মান
  • p :=cn^n
  • যখন p + cs
  • উত্তর :=উত্তর + সমাধান(x, n, cn + 1, p + cs)
  • cn :=cn + 1
  • p :=cn^n
  • যদি p + cs x এর মত হয়, তাহলে
    • উত্তর :=উত্তর + ১
  • উত্তর ফেরত দিন
  • উদাহরণ

    আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    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. আমরা পাইথনে একটি বার্তা ডিকোড করতে পারি এমন কয়েকটি উপায় খুঁজে বের করার প্রোগ্রাম

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

    3. পাইথনে Nth ফিবোনাচি নম্বর খুঁজে বের করার প্রোগ্রাম

    4. পাইথন প্রোগ্রামে একটি সংখ্যার জোড় গুণনীয়কের সমষ্টি খুঁজুন