Cheela (จากหนังสือของมังกรไข่โดยโรเบิร์ตแอล Forward) เป็นสิ่งมีชีวิตที่อาศัยอยู่บนพื้นผิวของดาวนิวตรอน ร่างกายของพวกเขาแบนและเป็นวงกลมโดยมีดวงตาทั้งสิบสองตาที่บริเวณรอบนอกดังนั้นพวกเขาจึงใช้ระบบเลขฐาน 12
ในหมู่ Cheela การดูแลลูกฟักและการศึกษาของเด็กเป็นงานที่ทำโดย Old Ones เนื่องจาก Cheela หนุ่มต้องได้รับการสอนวิธีการคูณ Ones Old สามารถใช้ตารางสูตรคูณ
งานของคุณคือการสร้างตารางการคูณ12
x 12
ในฐาน12
ดังต่อไปนี้ ตัวอักษรตัวพิมพ์ใหญ่A
และB
ใช้สำหรับตัวเลขที่สอดคล้องกับทศนิยม10
และ11
ตามลำดับ
1 2 3 4 5 6 7 8 9 A B 10
2 4 6 8 A 10 12 14 16 18 1A 20
3 6 9 10 13 16 19 20 23 26 29 30
4 8 10 14 18 20 24 28 30 34 38 40
5 A 13 18 21 26 2B 34 39 42 47 50
6 10 16 20 26 30 36 40 46 50 56 60
7 12 19 24 2B 36 41 48 53 5A 65 70
8 14 20 28 34 40 48 54 60 68 74 80
9 16 23 30 39 46 53 60 69 76 83 90
A 18 26 34 42 50 5A 68 76 84 92 A0
B 1A 29 38 47 56 65 74 83 92 A1 B0
10 20 30 40 50 60 70 80 90 A0 B0 100
เอาต์พุต shoud จะถูกพิมพ์บนหน้าจอ รูปแบบควรเป็นดังนี้:
- ควรจัดตำแหน่งตัวเลขให้ชิดขวาภายในแต่ละคอลัมน์
- ช่องว่างนำหน้าก่อนคอลัมน์แรกเว้นช่องว่างหลังคอลัมน์สุดท้ายหรือบรรทัดใหม่ต่อท้ายหลังจากแถวสุดท้ายได้รับอนุญาต
การแยกระหว่างคอลัมน์สามารถเป็นหนึ่งช่องว่าง (ดังที่แสดงด้านบน) หรือมากกว่าหนึ่งช่องว่าง แต่จำนวนช่องว่างควรสอดคล้องกันระหว่างคอลัมน์ ในการวัดการแยกคอลัมน์ให้พิจารณาว่าตัวเลขที่แสดงรวมถึงช่องว่างนำหน้าใด ๆ ที่อาจจำเป็นสำหรับการปฏิบัติตามข้อกำหนด 1 (ดังนั้นแต่ละหมายเลขจะใช้อักขระสามตัวซึ่งตัวแรกเป็นช่องว่าง) ตัวอย่างเช่นตารางที่มีการแยกสองช่องว่างจะเป็นดังนี้:
1 2 3 4 5 6 7 8 9 A B 10 2 4 6 8 A 10 12 14 16 18 1A 20 3 6 9 10 13 16 19 20 23 26 29 30 4 8 10 14 18 20 24 28 30 34 38 40 5 A 13 18 21 26 2B 34 39 42 47 50 6 10 16 20 26 30 36 40 46 50 56 60 7 12 19 24 2B 36 41 48 53 5A 65 70 8 14 20 28 34 40 48 54 60 68 74 80 9 16 23 30 39 46 53 60 69 76 83 90 A 18 26 34 42 50 5A 68 76 84 92 A0 B 1A 29 38 47 56 65 74 83 92 A1 B0 10 20 30 40 50 60 70 80 90 A0 B0 100
ที่เก็บข้อมูลคอมพิวเตอร์บนดาวนิวตรอนนั้นมีราคาแพงมากดังนั้นรหัสของคุณควรใช้น้อยที่สุดเท่าที่เป็นไปได้
ขยายความท้าทายและโบนัส
ในทางกลับกันโค้ดของคุณควรถูกนำมาใช้ซ้ำในส่วนอื่น ๆ ของเอกภพซึ่งอาจมีการใช้ระบบเลขอื่น ๆ ด้วยเหตุนี้ความท้าทายจึงเป็นทางเลือกดังนี้: รหัสของคุณยอมรับตัวเลขN
เป็นอินพุตและสร้างตารางการคูณN
x N
ในฐานN
โดยมีรูปแบบข้างต้น
อินพุตอาจมาจากแป้นพิมพ์หรือเป็นอาร์กิวเมนต์ของฟังก์ชัน โปรแกรมหรือฟังก์ชั่นควรจะทำงานสำหรับ2
≤ N
≤ 36
ใช้เป็นตัวเลขแรกที่N
ตัวละครของลำดับ0
, 1
, ... , 9
, A
, B
, ... , Z
(ตัวพิมพ์ใหญ่ตัวอักษร)
ความท้าทายเพิ่มเติมนี้เป็นทางเลือก หากคุณติดตามเส้นทางนี้ให้ลดจำนวนไบต์ลง 20% (ไม่จำเป็นต้องปัดเศษเป็นจำนวนเต็ม)
Because they have twelve eyes, they naturally use a base-12 numbering system.
เป็นไปตามธรรมชาติ นั่นเป็นเหตุผลที่เราใช้ไบนารี่เพราะ ... ;-)