เขียนโปรแกรมที่รับสายอักขระที่ประกอบด้วยอักขระที่พิมพ์ได้ (ASCII 20-7E) และจำนวนเต็มn
ใน [2,16] และทำการปรับเปลี่ยนต่อไปนี้กับสตริง
- อักขระแต่ละตัวในสตริงจะถูกแปลงเป็นรหัส ASCII ของมัน (ตัวอย่างที่ให้มาเป็นเลขฐานสิบหกแม้ว่าฐาน 10 จะยอมรับได้เช่นกัน)
- รหัส ASCII จะถูกแปลงเป็นฐาน
n
และต่อกันเข้าด้วยกัน - สตริงใหม่จะแบ่งตัวละครอื่น ๆ ทุกตัว หากมีจำนวนอักขระคี่ตัวละครสุดท้ายจะถูกลบออกทั้งหมด
- การพิมพ์รหัส ASCII (ในฐาน 16) จะถูกแปลงกลับเป็นอักขระในขณะที่รหัส ASCII ที่ไม่ได้พิมพ์จะถูกลบออก
- สตริงผลลัพธ์ถูกพิมพ์
กรณีทดสอบ
อินพุต
Hello, World!
6
ขั้นตอน
Hello, World!
48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
2002453003003031125222330331030024453
20 02 45 30 03 00 30 31 12 52 22 33 03 31 03 00 24 45
E001R"31$E
เอาท์พุทของโปรแกรมนี้คือ
นี่คือรหัสกอล์ฟดังนั้นจึงใช้กฎมาตรฐาน รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
7
สตริงJ
จะไปผ่านขั้นตอนJ
-> 50
-> 101
-> 10
-> (no output)
ราวกับจะสตริงหรือK
L
H
คือ ASCII 72 (ฐานสิบ) หรือ 48 (ฐานสิบหก) แต่สิ่งที่ฉันต้องการคือ 200 (ฐาน 6) ตัวอย่างแถวที่ 2 ทั้งหมดไม่มีประโยชน์และทำให้สับสนในความคิดของฉัน