25
ลำดับเพื่อนบ้านใหม่
จำนวนเต็มที่ไม่เป็นลบนั้นเบื่อที่จะมีเพื่อนบ้าน * สองคนเหมือนกันเสมอดังนั้นพวกเขาจึงตัดสินใจรวมสิ่งต่าง ๆ เข้าด้วยกันเล็กน้อย อย่างไรก็ตามพวกเขายังขี้เกียจและต้องการที่จะอยู่ใกล้กับตำแหน่งเดิมมากที่สุด พวกเขามาพร้อมกับอัลกอริทึมต่อไปนี้: องค์ประกอบแรกคือ 0 องค์ประกอบเป็นจำนวนที่น้อยที่สุดที่ยังไม่อยู่ในลำดับและที่ไม่ได้เป็นเพื่อนบ้านขององค์ประกอบnt hnเสื้อชั่วโมงn^{th}( n - 1 )t h(n-1)เสื้อชั่วโมง(n-1)^{th} สิ่งนี้จะสร้างลำดับที่ไม่สิ้นสุดต่อไปนี้: 0,2,4,1,3,5,7,9,6,8,10,12,14,11,13,15,17,19,16,18,20,22,24,21,23,25,27,29,26,28 ... 0เป็นองค์ประกอบแรก 1เป็นจำนวนที่น้อยที่สุดยังไม่ได้อยู่ในลำดับ 0แต่มันเป็นของเพื่อนบ้าน จำนวนที่น้อยที่สุดถัดไปคือ2ดังนั้นมันจึงเป็นองค์ประกอบที่สองของลำดับ ตอนนี้ตัวเลขที่เหลือเป็น1,3,4,5,6,...แต่ขณะที่ทั้งสอง1และ3เป็นเพื่อนบ้านของ2, 4เป็นสมาชิกที่สามของลำดับ ในฐานะที่1ไม่ใช่เพื่อนบ้านของ4มันในที่สุดก็สามารถใช้สถานที่เป็นองค์ประกอบที่สี่ งาน เขียนฟังก์ชั่นหรือโปรแกรมเป็นไบต์น้อยที่สุดซึ่งสร้างลำดับข้างต้น คุณอาจ เอาท์พุทลำดับไม่สิ้นสุด รับอินพุตและส่งคืนองค์ประกอบของลำดับหรือnnnnt hnเสื้อชั่วโมงn^{th} ใช้การป้อนข้อมูลและกลับคนแรกที่องค์ประกอบของลำดับnnnnnn ทั้งการทำดัชนีเป็นศูนย์หรือหนึ่งครั้งนั้นใช้ได้ในกรณีที่คุณเลือกหนึ่งในสองตัวเลือกหลัง คุณไม่จำเป็นต้องทำตามอัลกอริทึมที่ระบุไว้ข้างต้นวิธีการใด ๆ ที่สร้างลำดับเดียวกันก็ใช้ได้ แรงบันดาลใจจากกอล์ฟรหัสการเปลี่ยนแปลงที่ดีที่สุด ปรากฎนี้เป็นA277618 * Zero มีเพื่อนบ้านเพียงคนเดียวและไม่สนใจ