บทนำ(อาจถูกละเว้น)
การใส่ตัวเลขบวกทั้งหมดในลำดับปกติ (1, 2, 3, ... ) นั้นน่าเบื่อนิดหน่อยใช่ไหม? ดังนั้นนี่คือชุดของความท้าทายรอบพีชคณิต (reshuffelings) ของจำนวนบวกทั้งหมด นี่คือความท้าทายที่สองในชุดนี้ ความท้าทายแรกสามารถพบได้ที่นี่
ในความท้าทายนี้เราใช้รหัสสีเทาเพื่อจัดเรียงหมายเลขตามธรรมชาติ รหัสสีเทาหรือ "รหัสไบนารีที่สะท้อนกลับ" เป็นการเข้ารหัสแบบไบนารีในลักษณะที่ค่าต่อเนื่องสองค่าแตกต่างกันในหนึ่งบิตเท่านั้น การประยุกต์ใช้ในทางปฏิบัติของการเข้ารหัสนี้คือการใช้ในการเข้ารหัสโรตารี่จึงอ้างอิงของฉันไป"เปิดทาง"
โปรดทราบว่าการเข้ารหัสนี้จะให้อิสระในระดับหนึ่ง ตัวอย่างเช่นต่อไปนี้ไบนารี 1100 มีสี่รหัสต่อไปนี้จะเป็นไปได้: 1101 1110 1000 และ 0100. นี่คือเหตุผลที่ฉันจะกำหนด( n )เป็นที่เล็กที่สุดค่าไม่ได้ใช้ก่อนหน้านี้ว่ามีความแตกต่างเพียงตัวละครตัวหนึ่งในการเข้ารหัสแบบไบนารี ลำดับนี้สอดคล้องกับA163252
ตั้งแต่นี้เป็น "ลำดับบริสุทธิ์" ความท้าทายของงานคือการส่งออก( n )สำหรับให้nเป็น input ที่( n )เป็นA163252
งาน
รับอินพุตจำนวนเต็มส่งออกในรูปแบบจำนวนเต็ม ( ไม่ใช่ในรูปแบบไบนารี)
ถูกกำหนดให้เป็นจำนวนเต็มบวกอย่างน้อยไม่ได้เกิดขึ้นก่อนหน้านี้ในลำดับดังกล่าวว่า ( n - 1 )และ ( n )ที่แตกต่างกันในเวลาเพียงหนึ่งบิตเขียนเมื่อไบนารี
หมายเหตุ: การจัดทำดัชนีแบบ 1 จะถือว่าที่นี่; คุณอาจใช้การจัดทำดัชนีดังนั้นa ( 0 ) = 1 ; a ( 1 ) = 3ฯลฯ โปรดพูดถึงสิ่งนี้ในคำตอบของคุณหากคุณเลือกที่จะใช้
กรณีทดสอบ
Input | Output
--------------
1 | 1
5 | 4
20 | 18
50 | 48
123 | 121
1234 | 1333
3000 | 3030
9999 | 9997
กฎระเบียบ
- อินพุตและเอาต์พุตเป็นจำนวนเต็ม (อย่างน้อยโปรแกรมของคุณควรสนับสนุนอินพุตและเอาต์พุตในช่วง 1 ถึง 32767)
- อินพุตที่ไม่ถูกต้อง (0, ลอย, สตริง, ค่าลบ, ฯลฯ ) อาจนำไปสู่เอาต์พุตที่ไม่ได้คาดการณ์ไว้, ข้อผิดพลาดหรือ (un) พฤติกรรมที่กำหนดไว้ ในA163252 , ถูกกำหนดเป็น 0 สำหรับความท้าทายนี้เราจะไม่สนใจสิ่งนี้
- ใช้กฎ I / Oเริ่มต้น
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
หมายเหตุสุดท้าย
ดูคำถาม PP&CG ที่เกี่ยวข้อง (แต่ไม่เท่ากัน) ต่อไปนี้:
