บทนำ
หมายเลข 101 เป็น palindrome เนื่องจากจะอ่านไปข้างหน้าและข้างหลังเหมือนกัน หมายเลข 105 ไม่ใช่ อย่างไรก็ตาม 105 ในฐานแปดเขียนเป็น 151 ซึ่งเป็น palindromic บนมืออื่น ๆ 103 ไม่ได้เป็น palindrome ในใด ๆฐานตั้งแต่ 2 ถึง 101 ดังนั้น 103 อย่างเคร่งครัดไม่ใช่ palindromic
คำจำกัดความที่แม่นยำคือ: จำนวนเต็มที่ไม่ใช่ค่าลบnเป็นค่าที่ไม่ใช่พาลินโดรมิกอย่างเคร่งครัดหากไม่ได้เป็น palindrome ในฐานระหว่าง 2 ถึง n-2
หมายเลขแรกที่ไม่ใช่ตัวเลข palindromic อย่างเคร่งครัดคือ0, 1, 2, 3, 4, 6, 11, 19, 47, 53, 79, 103, 137, 139, 149, 163, 167, 179, 223, 263, 269...
( A016038 )
เขียนโปรแกรมเต็มรูปแบบที่รับหมายเลขxจาก STDIN และพิมพ์หมายเลขx ที่ไม่ใช่ palindromic xอย่างเคร่งครัด ยกตัวอย่างเช่นการป้อนข้อมูลที่จะผลิตส่งออก5
4
ท้าทาย
ความท้าทายคือการเขียนโปรแกรมหลายโปรแกรม (หนึ่งโปรแกรมขึ้นไป) แต่ละโปรแกรมแก้ปัญหานี้ด้วยภาษาที่แตกต่างกัน
จากนั้นคุณต้องใส่โปรแกรมทั้งหมดในตารางสี่เหลี่ยมของตัวละคร โปรแกรมสามารถเข้าถึงสไตล์เกรงกลัว นั่นคือเปลี่ยนจากอักขระหนึ่งตัวเป็นอักขระใกล้เคียง (รวมทั้งแนวทแยงมุม) โดยไม่ใช้อักขระเดียวกันมากกว่าหนึ่งครั้ง
ตัวอย่างเช่นตารางต่อไปนี้:
abc
bdc
รวมถึงคำabc
, ccd
, bbad
และbcdb
แต่ไม่ac
, bdd
, หรือbcb
cbbc
แต่ละโปรแกรมต้องอยู่ในกริดโดยใช้กฎเหล่านี้ อย่างไรก็ตามคุณอาจใช้อักขระเดียวกันในหลาย ๆ โปรแกรม
คะแนน
คะแนนของคุณคือจำนวนตัวละครในตารางหารด้วยจำนวนของโปรแกรม คะแนนต่ำสุดชนะ!
กฎระเบียบ
- สองภาษานั้นถือว่าแตกต่างกันหากพวกเขามักจะใช้ชื่อต่างกันโดยไม่สนใจหมายเลขเวอร์ชัน ตัวอย่างเช่น C และ C ++ แตกต่างกัน แต่ Python 2 และ Python 3 เหมือนกัน
- ตัวอักษรในตารางทั้งหมดจะต้องมาจาก ASCII พิมพ์คือจาก
การ
~
จุดรหัสผ่าน20
FE
- แต่ละโปรแกรมจะต้องประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้นและขึ้นบรรทัดใหม่ เมื่อแทรกโปรแกรมลงในตารางให้แทนที่แต่ละบรรทัดใหม่ด้วยช่องว่าง
- ช่องว่างในกริดอาจหมายถึงช่องว่างในโปรแกรมหนึ่งและขึ้นบรรทัดใหม่ในอีกโปรแกรมหนึ่ง
- ตารางจะต้องเป็นรูปสี่เหลี่ยมผืนผ้า
- ไม่จำเป็นต้องใช้อักขระทุกตัวในโปรแกรม
n-1
ดังนั้นจะมีตัวเลขอย่างน้อยสองหลักเสมอ