ความน่าจะเป็น - คุณไปได้สูงแค่ไหน?
ก่อนหน้านี้ฉันถามคำถามเกี่ยวกับวิธีคำนวณความน่าจะเป็นได้อย่างรวดเร็วและแม่นยำ อย่างไรก็ตามเห็นได้ชัดว่ามันง่ายเกินไปที่จะให้โซลูชันแบบปิด! นี่คือรุ่นที่ยากขึ้น งานนี้เป็นเรื่องเกี่ยวกับการเขียนโค้ดเพื่อคำนวณความน่าจะเป็นตรงและรวดเร็ว ผลลัพธ์ควรเป็นความน่าจะเป็นที่แม่นยำที่เขียนเป็นเศษส่วนในรูปแบบที่ลดลงมากที่สุด นั่นคือไม่ควรเอาท์พุท4/8แต่จะดี1/2กว่า สำหรับจำนวนเต็มบวกnพิจารณาสตริงสุ่มอย่างสม่ำเสมอของ 1s และ -1s ของความยาวnและเรียกมันว่า A ตอนนี้เชื่อมต่อกับAสำเนาของตัวเอง นั่นคือA[1] = A[n+1]ถ้าการจัดทำดัชนีจาก 1 A[2] = A[n+2]และอื่น ๆ ตอนนี้มีความยาวA 2nทีนี้ลองพิจารณาความยาวสตริงที่สองแบบสุ่มnซึ่งมีnค่าแรกคือ -1, 0 หรือ 1 ที่มีความน่าจะเป็น 1/4, 1/2, 1/4 แต่ละอันและเรียกมันว่า B ตอนนี้พิจารณาสินค้าด้านในของBที่มีแตกต่างกันA[1+j,...,n+j]j =0,1,2,... n=3ตัวอย่างเช่นพิจารณา ค่าที่เป็นไปได้AและBอาจจะเป็นและA = [-1,1,1,-1,...] B=[0,1,-1]ในกรณีนี้เป็นครั้งแรกผลิตภัณฑ์ชั้นสองเป็นและ02 งาน สำหรับแต่ละjเริ่มต้นด้วยj=1รหัสของคุณควรส่งออกน่าจะเป็นที่ทุกคนแรกผลิตภัณฑ์ภายในเป็นศูนย์สำหรับทุกj+1n=j,...,50 คัดลอกตารางที่ผลิตโดย Martin Büttnerเพราะj=1เรามีผลลัพธ์ตัวอย่างต่อไปนี้ n P(n) 1 1/2 2 …