Snaking Number Challenge
ฉันสงสัยว่ามีจำนวนการจับงูอยู่ระหว่าง 1 ถึง 50,000?
Snaking Numbers ในเกมนี้เป็นตัวเลขที่สามารถพิมพ์ได้บนแป้นตัวเลขแบบดั้งเดิม (รูปแบบด้านล่าง) โดยการเลื่อนหนึ่งคีย์ขึ้นลงซ้ายหรือขวา
7 8 9
4 5 6
1 2 3
0
ตัวอย่างเช่นถ้าคุณเริ่มต้นด้วยหมายเลข 5 คุณสามารถเลือก 4, 6, 8, หรือ 2 เป็นการย้ายที่ถูกต้องครั้งต่อไปของคุณอย่างไรก็ตาม 7, 3, 9 และ 1 เป็นค่า จำกัด เนื่องจากตำแหน่งเหล่านี้อยู่ในแนวทแยงมุมกับปุ่มปัจจุบัน . ดังนั้นถ้าคุณมี 5, 2 แล้วตัวเลือกที่สำคัญที่คุณใช้งานได้ต่อไปคือ 0, 1, 3 หรือ 5 อีกครั้ง
ในแบบฝึกหัด Code Golf นี้คุณจะต้องแสดงรายการตัวเลขการจับยึดที่เป็นบวกทั้งหมดระหว่าง 1 ถึง 50k พร้อมกับการนับจำนวนสุดท้ายของตัวเลขทั้งหมดที่ตรงตามเกณฑ์
กฎระเบียบ
- ตัวเลขไม่สามารถเริ่มต้นด้วยศูนย์
- ตัวเลขต้องเป็นจำนวนเต็มบวกทั้งหมด
- แต่ละหมายเลขติดต่อกันอ่านจากซ้ายไปขวาต้อง "งู" รอบ ๆ ตัวเลข
- งูไม่สามารถเดินทางในแนวทแยงมุมข้ามกุญแจ
- หมายเลข 0 สามารถเข้าถึงได้จากทั้งหมายเลข 1 และ 2
- ไม่สามารถจับคู่หมายเลขได้ (เช่น: 22)
ตัวอย่างของหมายเลข Snaking ที่ถูกต้อง:
12369
45201
1254
10102
1
12
987
ตัวอย่างของตัวเลขที่ไม่ถูกต้อง
1238 - 8 is not connected
0001 - multiple leading 0s
0101 - leading 0
159 - snake cannot travel diagonally
4556 - duplicate 5
ตามรหัสของ Golf Golf เป้าหมายมีจุดมุ่งหมายน้อยที่สุด!
ตามคณิตศาสตร์และกฎของฉันคุณควรมีหมายเลข snaking ที่ถูกต้อง 670 รายการในรายการของคุณบวกด้วย 670 ตัวที่พิมพ์ออกมาเป็นหมายเลขสุดท้าย