ท้าทาย
เขียนโปรแกรมที่ไม่ว่างเปล่า / ฟังก์ชั่นp
ที่ได้รับสายเข้าไม่ว่างเปล่าs
, เอาท์พุทตำแหน่งของเกิดขึ้นครั้งแรกของตัวละครของแต่ละในรหัสแหล่งที่มาของs
p
ตัวอย่างเช่นหากโปรแกรมของคุณคือ
main() { cout << magic << cin }
^0 ^5 ^10 ^15 ^20 ^25
และได้รับอินพุตabcd{
เอาต์พุตควรเป็น
[1, x, 9, x, 7] (0-based) [2, x, 10, x, 8] (1-based)
นี่x
แสดงให้เห็นถึงผลใด ๆ ที่ไม่ได้เป็นผลผลิตที่ถูกต้องสำหรับตำแหน่งตัวอักษร (เช่นจำนวนลบ, 0
ถ้าคุณใช้การจัดทำดัชนี 1-based NaN
, Inf
สตริงpotato
เป็นจำนวนมากขึ้นกว่าความยาวของโปรแกรม ฯลฯ )
ข้อ จำกัด
ไม่อนุญาตให้อ่านซอร์สโค้ด (เช่นใน Quine ที่เหมาะสม) อนุญาตให้ใช้ความคิดเห็นได้ แต่จะนับรวมกับคะแนนของคุณ
อินพุตและเอาท์พุตสามารถทำได้ในรูปแบบที่สมเหตุสมผล แต่ต้องไม่คลุมเครือ (เฉพาะตัวคั่นเพิ่มเติมไม่มีrand
สตรีมและอ้างว่าคำตอบนั้นอยู่ที่ใดที่หนึ่ง) สอดคล้องกัน (เช่นx
จากข้างบนควรเป็นค่าเดียวกันเสมอ) และมนุษย์ อ่านได้ ; ตัวอย่างเช่นสตริงหรืออาร์เรย์อักขระ คุณสามารถสมมติว่าอินพุตเป็นสตริง (หรืออาร์เรย์) ของอักขระ ASCII ที่พิมพ์ได้ ไม่จำเป็นต้องจัดการ Unicode ทั้งชุด
กำหนดโค้ดเพจเองหรือ ASCII ที่ไม่สามารถพิมพ์ได้ในโค้ดของคุณ?
หากภาษาของคุณใช้โค้ดเพจที่กำหนดเอง (Jelly, APL และอื่น ๆ ) คุณจะต้องคำนึงถึงเรื่องนั้นด้วย (ดังนั้นโปรแกรม€æÆ
จะต้องแสดงผลลัพธ์[1, x, 2]
สำหรับอินพุต€%æ
) การใช้เฉพาะอักขระที่ไม่ใช่ ASCII เพื่อส่งออก-1
เสมอ (เนื่องจากอินพุตเป็น ASCII เท่านั้น) ไม่ใช่โซลูชันที่ถูกต้อง คุณอาจจะคิดว่าโปรแกรมของคุณโดยกำเนิดยอมรับเพจรหัสที่กำหนดเองของคุณเช่นถ้าโปรแกรมของคุณมีวิธีการของการแปลงตัวอักษรที่A
จะเป็นจำนวนเต็ม65
(การเข้ารหัส ASCII), คุณอาจคิดว่ามันตอนนี้แปลงตัวอักษรที่ 65 65
ในเพจของคุณไป
แรงบันดาลใจจากความท้าทายต่อไปนี้: การรับรู้ตำแหน่ง
01030708070
?