ความท้าทายนี้เป็นครั้งแรกในซีรีส์สองความท้าทายเกี่ยวกับการทำซ้ำ วินาทีจะเพิ่มขึ้นในไม่ช้า
ในภาษาที่เรียกว่า Repetition (สิ่งที่ฉันเพิ่งสร้างขึ้น) ประกอบด้วยสตริงที่ไม่มีที่สิ้นสุดของที่12345678901234567890...
มีการ1234567890
ทำซ้ำตลอดไป
ไวยากรณ์ต่อไปนี้มีให้สำหรับหมายเลขเอาต์พุต:
+-*/
: สิ่งนี้จะแทรกโอเปอเรเตอร์ในสตริงของตัวเลขที่ซ้ำกัน- ตัวอย่าง:
+
->1+2
=3
(+
แทรก+
ระหว่าง1
และ2
)+*
->1+2*3
=1+6
=7
(เหมือนข้างบนยกเว้นใช้ตัวดำเนินการสองตัวในขณะนี้)/
->1/2
=0
(การทำซ้ำใช้การหารจำนวนเต็ม)//
->1/2/3
=0/3
=0
(การทำซ้ำใช้ "การเชื่อมโยงด้านซ้าย" พร้อมการลบและการหารหลายรายการ)
- ผู้ให้บริการแต่ละรายจะถูกแทรกเพื่อให้มีหนึ่งหลักทางด้านซ้ายยกเว้นว่ามี
c
(ดูด้านล่าง)
- ตัวอย่าง:
c
: เชื่อมต่อกับตัวเลขถัดไปในสตริง- ตัวอย่าง:
c+
->12+3
=15
(c
"ต่อไป"1
และเชื่อมต่อกับตัวเลขถัดไป2
เพื่อจัดรูปแบบ12
)+c
->1+23
=24
ccc
->1234
- ตัวอย่าง:
()
: วงเล็บสำหรับการประมวลผลหมายเลข- ตัวอย่าง:
(c+)*
->(12+3)*4
=15*4
=60
(การทำซ้ำใช้ลำดับของการดำเนินการ)(c+)/c
->(12+3)/45
=15/45
=0
(cc+c)/
->(123+45)/6
=168/6
=28
- ตัวอย่าง:
s
: ข้ามตัวเลข (ลบตัวเลขออกจากสตริงอนันต์)s+
->2+3
=5
(s
ข้าม1
)csc
->124
(c
concats แรก1
และ2
,s
ข้าม3
และc
concats สุดท้าย12
ไป4
)+s+
->7
(ครั้งแรกที่+
เพิ่ม1
และ2
จะทำให้3
,s
ข้าม3
และสุดท้าย+
เพิ่ม3
เพื่อ4
ที่จะทำให้7
)cs*(++)
->12*(4+5+6)
=12*15
=180
ในตัวอย่างข้างต้นจะใช้ตัวเลขจำนวน จำกัด ในสตริงที่ไม่สิ้นสุดเท่านั้น number of operators, concats and skips + 1
จำนวนของตัวเลขที่ใช้เทียบเท่ากับ
งานของคุณคือเมื่อได้รับสตริงรหัสการทำซ้ำผลลัพธ์ผลลัพธ์
ตัวอย่างของอินพุตและเอาต์พุตคือ:
++ -> 6
- -> -1
(-)* -> -3
cscc -> 1245
(cc+c)/ -> 28
cc+c/ -> 130
cs*(++) -> 180
นี่คือโค้ดกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
รายละเอียด:
- คุณรับประกันได้ว่าผลลัพธ์จะไม่มีวัน
2^31-1
เปลี่ยนแปลง - คุณรับประกันด้วยว่าอินพุตจะประกอบด้วยสัญลักษณ์
+-*/cs()
เท่านั้น 1
ที่ว่างเปล่าเอาท์พุทโปรแกรมพระทัย
s+
คือ2+3
เป็นตัวอย่างแรกของ และยังคงs
ดักฟังฉันอยู่ ฉันสงสัยว่า+s()+
ขยายตัวอย่างไร ถ้ามันถูก1+(2)+4
แล้ว(
มาก่อน2
แต่s
ที่มาแม้กระทั่งก่อนที่(
ดูเหมือนจะยังคงข้ามไม่ได้3
2
แต่ถ้าผลที่ได้คือ1+(3)+4
แล้วผลของs
ขึ้นอยู่กับสิ่งที่เกิดขึ้นหลังจากที่มัน (เปรียบเทียบกับ+s+
)
sc
เป็น23
และs+
คือ1+3
อะไร? ไม่s
ข้าม1
ในขณะนี้หรือ2
? ตัวอย่างทั้งหมดใช้การดำเนินการครั้งแรกในตัวถูกดำเนินการ1
และ2
... ดังนั้นควรจะเป็นsc
13
~
มันล่ะ? อย่าปล่อยให้เราแขวน