मान लीजिए कि हमारे पास एक संख्या n है। एक्स =रैंड () मॉड एन पर विचार करें, जहां रैंड () फ़ंक्शन यादृच्छिक रूप से समान रूप से 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 के बीच के लिए, करते हैं
- सम्मिलित करें (pref + का अंतिम आइटम + (1 +(4*i + 1)^0.5) * 0.5 Pref के अंत में
- यदि n
- रिटर्न प्रीफ़ [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