งาน
ภารกิจคือการเขียนโปรแกรมที่ให้ผลลัพธ์เป็นจำนวนเต็มบวก แต่อย่างอื่นโดยพลการ (ให้มากกว่า 0 อย่างเคร่งครัด) นี่คือสิ่งที่จับได้: เมื่อแหล่งที่มาถูกทำซ้ำครั้ง (รหัสถูกผนวกเข้า / ตัดแบ่งเข้ากับตัวมันเอง) โปรแกรมควรมีความน่าจะเป็น Nของเอาต์พุตและความน่าจะเป็นที่เหลืออยู่ของของเอาต์พุตไม่เปลี่ยนแปลง
ตัวอย่าง
สมมติว่าแหล่งเริ่มต้นของคุณและผลิตจำนวนเต็มXYZ
3
แล้ว:
สำหรับ :
XYZXYZ
ควรแสดงผลลัพธ์ด้วยความน่าจะเป็น (50% ของเวลา) และโดยมีความน่าจะเป็นเช่นกัน (50% ของเวลา)สำหรับ :
XYZXYZXYZ
ควรแสดงผลลัพธ์ด้วยความน่าจะเป็นที่ (66.666% ของเวลา) และโดยมีความน่าจะเป็น (33.333% ของเวลา)สำหรับ :
XYZXYZXYZXYZ
ควรแสดงผลลัพธ์ด้วยความน่าจะเป็น (75% ของเวลา) และ โดยมีความน่าจะเป็น (25% ของเวลา)
และอื่น ๆ ....
กฎระเบียบ
คุณต้องสร้างโปรแกรมเต็มรูปแบบ ต้องพิมพ์ผลลัพธ์ไปที่ STDOUT
โปรแกรมของคุณควรในทางทฤษฎีการส่งออกแต่ละค่าเป็นไปได้ด้วยความน่าจะเป็นที่ระบุไว้ข้างต้นแต่การเบี่ยงเบนเล็กน้อยจากนี้เนื่องจากการดำเนินการสุ่มดี ( โดยมีเงื่อนไขว่าการดำเนินการไม่ได้มาจากการกระจายที่แตกต่างกัน - คุณไม่สามารถใช้ กระจายปกติเพื่อบันทึกไบต์ )
โปรแกรมที่ควร (อีกครั้งในทฤษฎี) การทำงานสำหรับค่าขนาดใหญ่โดยพลการของแต่ข้อ จำกัด ทางเทคนิคเนื่องจากความแม่นยำจะมีการปรับใหญ่N
เอาต์พุตจะต้องอยู่ในฐาน 10 (ห้ามส่งออกในฐานอื่นหรือด้วยเครื่องหมายทางวิทยาศาสตร์เป็นสิ่งต้องห้าม) อนุญาตให้ใช้ช่องว่างต่อท้าย / นำหน้าและเลขศูนย์นำหน้า
แหล่งที่มาเริ่มต้นจะต้องมีความยาวอย่างน้อย 1 ไบต์ คุณไม่สามารถรับบรรทัดใหม่ระหว่างสำเนาของแหล่งที่มาของคุณ โปรแกรมไม่ควรรับอินพุต (หรือมีอินพุตที่ไม่ได้ใช้และว่างเปล่า)
นี่คือโค้ดกอล์ฟดังนั้นคะแนนของคำตอบคือความยาวของแหล่งที่มา (ต้นฉบับ) เป็นไบต์ด้วยคะแนนที่ต่ำกว่าจะดีกว่า