Thử thách này là lần đầu tiên trong loạt hai thử thách về Sự lặp lại. Thứ hai sẽ sớm lên.
Trong một ngôn ngữ gọi là Lặp lại (một cái gì đó tôi vừa tạo ra), bao gồm một chuỗi vô tận 12345678901234567890..., với sự 1234567890lặp lại mãi mãi.
Cú pháp sau đây có sẵn cho các số đầu ra:
+-*/: Điều này chèn toán tử vào chuỗi các chữ số lặp lại.- Ví dụ:
+->1+2=3(Việc+chèn a+giữa1và2)+*->1+2*3=1+6=7(Tương tự như trên, ngoại trừ hai toán tử được sử dụng ngay bây giờ)/->1/2=0(Lặp lại sử dụng phép chia số nguyên)//->1/2/3=0/3=0(Lặp lại sử dụng "liên kết trái" với nhiều phép trừ và phép chia)
- Mỗi toán tử được chèn sao cho nó có một chữ số ở bên trái, trừ khi có
c(xem bên dưới).
- Ví dụ:
c: Nối với chữ số tiếp theo trong chuỗi.- Ví dụ:
c+->12+3=15(Chữc"tiếp tục"1và nối nó với chữ số tiếp theo2, để tạo thành12)+c->1+23=24ccc->1234
- Ví dụ:
(): Chân đế để xử lý số.- Ví dụ:
(c+)*->(12+3)*4=15*4=60(Lặp lại sử dụng thứ tự các thao tác)(c+)/c->(12+3)/45=15/45=0(cc+c)/->(123+45)/6=168/6=28
- Ví dụ:
s: Bỏ qua một số (loại bỏ số khỏi chuỗi vô hạn).s+->2+3=5(sbỏ qua1)csc->124(Cáccconcats đầu tiên1và2,sbỏ qua3, và cáccconcats cuối cùng12để4)+s+->7(Lần đầu tiên+thêm1và2thực hiện3,sbỏ qua3và cuối cùng+thêm3vào4để thực hiện7)cs*(++)->12*(4+5+6)=12*15=180
Trong các ví dụ trên, chỉ một lượng chữ số hữu hạn trong chuỗi vô hạn được sử dụng. Số chữ số được sử dụng tương đương với number of operators, concats and skips + 1.
Nhiệm vụ của bạn là, khi được cung cấp một chuỗi mã Lặp lại, đưa ra kết quả.
Ví dụ về đầu vào và đầu ra là:
++ -> 6
- -> -1
(-)* -> -3
cscc -> 1245
(cc+c)/ -> 28
cc+c/ -> 130
cs*(++) -> 180
Đây là mã golf, vì vậy mã ngắn nhất trong byte thắng!
Thông số kỹ thuật:
- Bạn được đảm bảo rằng kết quả sẽ không bao giờ đi trên
2^31-1. - Bạn cũng được đảm bảo rằng đầu vào sẽ chỉ bao gồm các ký hiệu
+-*/cs(). - Một chương trình trống sẽ xuất ra
1.
s+là 2+3ví dụ đầu tiên. Và vẫn stiếp tục làm phiền tôi. Tôi tự hỏi làm thế nào +s()+mở rộng. Nếu đó là 1+(2)+4sau đó (đến trước 2nhưng smà đến ngay cả trước khi (bỏ qua dường như vẫn còn 3, không 2. Tuy nhiên, nếu kết quả là 1+(3)+4thì hiệu quả của một sphụ thuộc vào những gì xảy ra sau nó (so sánh với nó +s+)
sclà 23và s+là 1+3? Có sbỏ qua 1bây giờ hay 2không? Tất cả các ví dụ sử dụng thao tác đầu tiên trên toán hạng 1và 2... vì vậy scnên 13.
~s thì sao? Đừng để chúng tôi treo.