Polyglot ที่ไม่ใช่ Palindromic


11

บทนำ

หมายเลข 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อย่างเคร่งครัด ยกตัวอย่างเช่นการป้อนข้อมูลที่จะผลิตส่งออก54

ท้าทาย

ความท้าทายคือการเขียนโปรแกรมหลายโปรแกรม (หนึ่งโปรแกรมขึ้นไป) แต่ละโปรแกรมแก้ปัญหานี้ด้วยภาษาที่แตกต่างกัน

จากนั้นคุณต้องใส่โปรแกรมทั้งหมดในตารางสี่เหลี่ยมของตัวละคร โปรแกรมสามารถเข้าถึงสไตล์เกรงกลัว นั่นคือเปลี่ยนจากอักขระหนึ่งตัวเป็นอักขระใกล้เคียง (รวมทั้งแนวทแยงมุม) โดยไม่ใช้อักขระเดียวกันมากกว่าหนึ่งครั้ง

ตัวอย่างเช่นตารางต่อไปนี้:

abc
bdc

รวมถึงคำabc, ccd, bbadและbcdbแต่ไม่ac, bdd, หรือbcbcbbc

แต่ละโปรแกรมต้องอยู่ในกริดโดยใช้กฎเหล่านี้ อย่างไรก็ตามคุณอาจใช้อักขระเดียวกันในหลาย ๆ โปรแกรม

คะแนน

คะแนนของคุณคือจำนวนตัวละครในตารางหารด้วยจำนวนของโปรแกรม คะแนนต่ำสุดชนะ!

กฎระเบียบ

  • สองภาษานั้นถือว่าแตกต่างกันหากพวกเขามักจะใช้ชื่อต่างกันโดยไม่สนใจหมายเลขเวอร์ชัน ตัวอย่างเช่น C และ C ++ แตกต่างกัน แต่ Python 2 และ Python 3 เหมือนกัน
  • ตัวอักษรในตารางทั้งหมดจะต้องมาจาก ASCII พิมพ์คือจากการ~จุดรหัสผ่าน20FE
  • แต่ละโปรแกรมจะต้องประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้นและขึ้นบรรทัดใหม่ เมื่อแทรกโปรแกรมลงในตารางให้แทนที่แต่ละบรรทัดใหม่ด้วยช่องว่าง
    • ช่องว่างในกริดอาจหมายถึงช่องว่างในโปรแกรมหนึ่งและขึ้นบรรทัดใหม่ในอีกโปรแกรมหนึ่ง
  • ตารางจะต้องเป็นรูปสี่เหลี่ยมผืนผ้า
  • ไม่จำเป็นต้องใช้อักขระทุกตัวในโปรแกรม

ไม่ใช่ตัวเลขหลักเดียว palindromic ใช่ไหม พวกเขาอ่านข้างหลังและข้างหน้าเหมือนกัน
Reto Koradi

@RetoKoradi ถูกต้อง นั่นเป็นเหตุผลที่เราพิจารณาเฉพาะฐานที่น้อยกว่าn-1ดังนั้นจะมีตัวเลขอย่างน้อยสองหลักเสมอ
Ypnypn

คำตอบ:


10

19x2 = 38, 2 โปรแกรม, คะแนน: 26 19.5 19

นี่คือคณะกรรมการ:

-:\~{.,><1\b_W%}}g}
1Wq{)_2W{$ase.=,do*

โปรแกรมนี้ประกอบไปด้วย:

CJam (27 ไบต์)

Wq~{{)_,2>W<{1$\b_W%=},}g}*

ทดสอบที่นี่

นี่คือตัวละครของบอร์ดที่ใช้สำหรับรหัสนี้:

   ~{ ,><1\b_W%}}g}
 Wq{)_2W{$    =,  *

GolfScript (34 ไบต์)

-1:W\~{{).,2>W<{1$\base.W%=},}do}*

ทดสอบที่นี่

นี่คือตัวละครของบอร์ดที่ใช้สำหรับรหัสนี้:

-:\~{.,><1\b W%}} }
1W {) 2W{$ase.=,do*
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.