การแจกแจงแบบพาเรโตเป็นการแจกแจงความน่าจะเป็นที่เกิดขึ้นตามธรรมชาติ มันมีคุณสมบัติพิเศษมากมายเช่นค่าเฉลี่ยไม่สิ้นสุด ในความท้าทายนี้คุณจะส่งออกจำนวนตัวอย่างจากการกระจายนี้
การแจกแจงแบบพาเรโต้ถูกกำหนดให้มากกว่าหรือเท่ากับx
ความน่าจะ1/x
เป็นสำหรับทั้งหมดที่x
มากกว่าหรือเท่ากับ 1
ดังนั้นตัวเลขที่สุ่มตัวอย่างจากการแจกแจงนี้มีค่ามากกว่าหรือเท่ากับ 1 ที่มีความน่าจะเป็น 1 มากกว่าหรือเท่ากับ 2 ที่มีความน่าจะเป็น 1/2 อย่างยิ่งมากกว่าหรือเท่ากับ 3 ที่มีความน่าจะเป็น 1/3 อย่างแท้จริงมากกว่าหรือเท่ากับ 11.4 ด้วยความน่าจะเป็นที่แน่นอน 1 / 11.4 และอื่น ๆ
เนื่องจากคุณจะสุ่มตัวอย่างการกระจายตัวนี้โปรแกรมหรือฟังก์ชั่นของคุณจะไม่รับอินพุตและส่งออกตัวเลขสุ่มโดยมีความน่าจะเป็นข้างต้น อย่างไรก็ตามหากโปรแกรมของคุณไม่ตรงกับความน่าจะเป็นข้างต้นอย่างสมบูรณ์เนื่องจากการแสดงผลแบบอิงดัชนี ดูด้านล่างของความท้าทายสำหรับรายละเอียดเพิ่มเติม
(สิ่งนี้เรียกว่าการกระจาย Pareto ที่มีอัลฟา 1 และขอบเขตที่ต่ำกว่า 1 เป็นที่แน่นอน)
ตัวอย่าง 10 ตัวอย่างต่อไปนี้มาจากการแจกจ่าย:
1.1540029602790338
52.86156818209856
3.003306506971116
1.4875532217142287
1.3604286212876546
57.5263129600285
1.3139866916055676
20.25125817471419
2.8105749663695208
1.1528212409680156
สังเกตว่ามี 5 คนต่ำกว่า 2 และ 5 สูงกว่า 2 เนื่องจากนี่เป็นผลลัพธ์โดยเฉลี่ยแน่นอนอาจสูงหรือต่ำกว่า
คำตอบของคุณจะต้องแก้ไขได้ถึงขีด จำกัด ของประเภทเลขทศนิยมของคุณชนิดจำนวนจริงหรืออะไรก็ตามที่คุณใช้ แต่คุณต้องสามารถแสดงตัวเลขอย่างน้อย 3 หลักทศนิยมที่มีความแม่นยำและแสดงตัวเลขได้สูงสุด 1,000,000 . หากคุณไม่แน่ใจว่ามีบางอย่างโอเคคุณสามารถถามได้ฟรี
นี่คือรหัสกอล์ฟ
รายละเอียดเกี่ยวกับความไม่แน่นอน:
สำหรับแต่ละช่วง
[a, b]
ที่น่าจะเหมาะที่กลุ่มตัวอย่างจะตกอยู่ในช่วงที่เป็น1 <= a < b
1/a - 1/b
น่าจะเป็นที่โปรแกรมของคุณผลิตตัวเลขในช่วงที่จะต้องอยู่กับของ0.001
1/a - 1/b
ถ้าเป็นผลลัพธ์ของโปรแกรมของคุณจะต้องให้X
|P(a <= X <= b) - (1/a - 1/b)| < 0.001
โปรดทราบว่าด้วยการใช้กฎข้างต้นด้วย
a=1
และb
มีขนาดใหญ่พอสมควรเป็นกรณีที่โปรแกรมของคุณต้องแสดงผลตัวเลขที่มากกว่าหรือเท่ากับ 1 โดยมีความน่าจะเป็นอย่างน้อย 0.999 เวลาที่เหลืออาจทำให้เกิดปัญหาเอาต์พุตInfinity
หรือทำสิ่งอื่น
ฉันค่อนข้างแน่ใจว่าการส่งแบบฟอร์มที่มีอยู่1/1-x
หรือ1/x
ที่x
เป็นแบบสุ่มใน[0, 1)
หรือ(0, 1)
หรือ[0, 1]
ทั้งหมดตรงตามข้อกำหนดนี้