หมายเหตุ:นี่เป็นแรงบันดาลใจจากคำถามนี้โดย@Willbeingโดยที่หน้าที่คือการนับจำนวนแผ่นที่สมบูรณ์แบบที่มีความยาวที่แน่นอน แต่มันแตกต่างกันเล็กน้อย
เราเรียกแผ่นป้ายทะเบียนที่สมบูรณ์ซึ่งมีข้อความตรงตามเงื่อนไขต่อไปนี้:
- ประกอบด้วยอักขระซึ่งอาจเป็นตัวอักษรตัวพิมพ์ใหญ่ (
[A-Z]
) หรือตัวเลข ([0-9]
) - การรวมตำแหน่งของตัวอักษรในตัวอักษรภาษาอังกฤษ1 ดัชนี (เช่น:)
A=1,B=2,...,Z=26
จะให้จำนวนเต็มn - ได้รับตัวเลขแต่ละอันรวมกันแล้วคูณผลลัพธ์ทั้งหมดให้ผลลัพธ์เดียวกันn
- nเป็นสี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบ (เช่น:
49
(7 2 ) ,16
(4 2 ) )
แผ่นป้ายทะเบียนเกือบสมบูรณ์แบบตรงตามเงื่อนไขสำหรับแผ่นป้ายทะเบียนที่สมบูรณ์แบบยกเว้นว่าnคือไม่ได้ตารางที่สมบูรณ์แบบ
อินพุต
สตริงที่แสดงถึงข้อความของแผ่นป้ายทะเบียนซึ่งถูกใช้เป็นอินพุตในรูปแบบมาตรฐานใด ๆ ยกเว้นการเข้ารหัส
เอาท์พุต
หากสตริงที่กำหนดแสดงถึงป้ายทะเบียนที่เกือบสมบูรณ์แบบให้ส่งคืนค่าความจริง (เช่น: True
/ 1
) มิฉะนั้นคืนค่าเท็จ (เช่น: False
/ 0
) รูปแบบการส่งออกมาตรฐานใด ๆ ที่เป็นที่ยอมรับในขณะที่รับทราบว่าช่องโหว่นี้เป็นสิ่งต้องห้ามอย่างเคร่งครัด
ตัวอย่าง
licence plate -> output
A1B2C3 -> 1
A + B + C = 1 + 2 + 3 = 6
1 * 2 * 3 = 6
6 is not a perfect square, 6 = 6 => nearly perfect plate
01G61 -> 1
(0 + 1) * (6 + 1) = 7
G = 7
7 is not a perfect square, 7 = 7 => nearly perfect plate
11BB2 -> 0
(1 + 1) * 2 = 4
B + B = 2 + 2 = 4
4 = 4, but 4 is the square of 2 => perfect license plate (not what we want)
67FF1 -> 0
(6 + 7) * 1 = 13
F + F = 6 + 6 = 12
12 != 13 => not perfect at all!
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ!
n
เป็นไม่ได้ตารางที่สมบูรณ์แบบ?
s/licence/license/ig
สิ่งนี้โปรดทราบว่า "ใบอนุญาต" เป็นตัวสะกดที่ถูกต้องในภาษาอังกฤษแบบอังกฤษ (เช่นเดียวกับภาษาอังกฤษในส่วนอื่น ๆ ของโลก)