কম্পিউটার

পাইথনে এলোমেলো সংখ্যার জন্য প্রদত্ত সমীকরণের প্রত্যাশিত মান খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের একটি সংখ্যা n আছে। x =rand() mod n বিবেচনা করুন, যেখানে rand() ফাংশন 0 এবং 10^100 (উভয়ই অন্তর্ভুক্ত) মধ্যে পূর্ণসংখ্যা তৈরি করে এলোমেলোভাবে। এবং

$$Y =\sqrt{x+\sqrt{x+\sqrt{x+\sqrt{x+...}}}$$

আমাদের Y-এর প্রত্যাশিত মান খুঁজে বের করতে হবে। n-এর মান হবে 1 এবং 5*10^6 পরিসরে।

সুতরাং, যদি ইনপুট n =5 এর মত হয়, তাহলে আউটপুট হবে 1.696

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

  • ভ্রান্তি :=2235.023971557617
  • max_n :=5 * 10^6
  • pref :=একটি তালিকায় প্রাথমিকভাবে একটি একক 0 থাকে
  • আমি 1 থেকে 5 * 10^6 রেঞ্জের জন্য, কর
    • প্রিফার শেষে সন্নিবেশ করান (প্রেফ + (1 +(4*i + 1)^0.5) * 0.5 এর শেষ আইটেম
  • যদি n
  • রিটার্ন pref[n - 1] / n
  • অন্যথায়,
    • মোট :=(4 *(n - 1) + 5)^1.5 / 6 - 5^1.5 / 6 - ত্রুটি
    • উত্তর :=0.5 + মোট /(2 * n)
    • উত্তর ফেরত দিন
  • উদাহরণ

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

    def solve(n):
       err = 2235.023971557617
       max_n = 5 * 10**6
    
       pref = [0]
       for i in range(1, 5 * 10**6):
          pref.append(pref[-1] + (1 + (4 * i + 1)**0.5) * 0.5)
    
       if n < max_n:
          return pref[n - 1] / n
       else:
          total = (4 * (n - 1) + 5)**1.5 / 6 - 5**1.5 / 6 - err
          ans = 0.5 + total / (2 * n)
          return ans
    
    n = 5
    print(solve(n))

    ইনপুট

    5

    আউটপুট

    1.69647248786

    1. পাইথনে প্রদত্ত সমীকরণ a + b =c থেকে অনুপস্থিত মানটি সন্ধান করুন

    2. ফিবোনাচি সংখ্যার জন্য পাইথন প্রোগ্রাম

    3. জটিল সংখ্যার জন্য পাইথন প্রোগ্রাম

    4. মডুলার এক্সপোনেনশিয়ানের জন্য পাইথন প্রোগ্রাম