งานของคุณในที่นี้คือการใช้ฟังก์ชัน1ที่สร้างการเปลี่ยนรูปแบบของจำนวนเต็มบวก (bijection จากจำนวนเต็มบวกเข้าสู่ตัวเอง) ซึ่งหมายความว่าจำนวนเต็มบวกแต่ละค่าควรปรากฏขึ้นหนึ่งครั้งในการเปลี่ยนแปลง ฟังก์ชัน Catch ของคุณควรมีความน่าจะเป็นในการแสดงผลเป็นเลขคี่มากกว่าจำนวนคู่
ตอนนี้อาจดูแปลกหรือเป็นไปไม่ได้ แน่นอนว่ามีตัวเลขคี่เป็นจำนวนเท่า ๆ กันใช่ไหม? และในขณะที่สัญชาตญาณนี้ถูกต้องสำหรับเซต จำกัด จริง ๆ แล้วมันไม่ถือสำหรับเซตอนันต์ ตัวอย่างเช่นใช้การเปลี่ยนแปลงต่อไปนี้:
1 3 2 5 7 4 9 11 6 13 15 8 17 19 10 21 23 12 25 27 14 29 31 16 33 35 18 37 39 20 41 43 22 45 47 24 49 51 26 53 55 ...
หากคุณใช้ส่วนย่อยของลำดับที่มีขนาดใหญ่กว่าคุณจะมีเลขคี่เป็นจำนวนคู่อย่างน้อยที่สุดเท่าที่เป็นเลขคู่ดังนั้นดูเหมือนว่าความน่าจะเป็นของคำที่สุ่มใด ๆ ที่เป็นเลขคี่นั้นยิ่งใหญ่กว่าเลขคู่ คุณจะสังเกตเห็นว่าทุกเลขคี่หรือเลขคู่จะปรากฏในลำดับและจะปรากฏเพียงครั้งเดียว ดังนั้นลำดับคือการเปลี่ยนแปลงที่แท้จริง
นิยามของความน่าจะเป็น
เพื่อหลีกเลี่ยงความสับสนหรือความกำกวมฉันจะอธิบายอย่างชัดเจนถึงความน่าจะเป็นในคำถามนี้
ขอให้เราบอกว่าเรามีฟังก์ชั่นFความน่าจะเป็นของจำนวนคี่จะถูกกำหนดเป็นขีด จำกัด ของอัตราส่วนสมาชิกคี่ของชุดต่อขนาดของชุดตามที่มีแนวโน้มว่าจะไม่มีที่สิ้นสุด
ยกตัวอย่างเช่นฟังก์ชั่นดังกล่าวจะมีความน่าจะเป็นของความแปลกของ2/3
นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์น้อยกว่าจะดีกว่า
ความท้าทายพิเศษ
นี่คือความคิดที่สนุกสนานที่จะเล่นกับและอาจลองใช้ เหล่านี้เป็นเพียงเพื่อความสนุกสนานและไม่ส่งผลกระทบต่อการให้คะแนน แต่อย่างใด บางส่วนของเหล่านี้ไม่ได้แก้ปัญหาที่ถูกต้องแม้กับความท้าทายนี้และคำตอบซึ่งรวมถึงโซลูชั่นเพื่อความท้าทาย 2 หรือ 3 ไม่ได้เป็นคำตอบที่ถูกต้องและมีแนวโน้มที่จะถูกลบออก
เขียนการเปลี่ยนแปลงที่มีความน่าจะเป็นคี่1(เป็นไปได้)
เขียนการเปลี่ยนแปลงที่มีเลขคี่มากกว่าตัวเลขแม้ในสำหรับการใด ๆแต่มีความน่าจะเป็นคี่ของ1/2
เขียนการเรียงสับเปลี่ยนที่ไม่มีความน่าจะเป็นที่กำหนดไว้ (นั่นคือไม่มีขีด จำกัด )
1: ฟังก์ชั่นที่นี่จะหมายถึงโปรแกรมหรือฟังก์ชั่น มันเป็นเพียงส่วนหนึ่งของรหัสที่รับอินพุตและสร้างเอาต์พุต