Nhiệm vụ của bạn là lấy một danh sách các đối số là số nguyên hoặc toán tử và phân tích chúng như vậy:
Có một toán tử hiện tại, bắt đầu là +.
Mỗi khi một toán tử được tìm thấy, toán tử hiện tại sẽ thay đổi thành nó.
Các toán tử có thể là: "+", "-", "*", "/" và "%", tương ứng với ý nghĩa của chúng trong C và hầu hết các ngôn ngữ.
Có một giải pháp đang chạy, bắt đầu từ 0.
Mỗi lần tìm thấy một số nguyên, giải pháp được sửa đổi theo số lượng tùy thuộc vào toán tử; ví dụ: nếu toán tử là "/" thì giải pháp được chia cho số.
Nếu một hoạt động sẽ dẫn đến một số hỗn hợp (tức là với một số thập phân) thì nó phải được đưa trở lại một số nguyên (tức là số thập phân phải được cắt nhỏ).
Đưa ra giải pháp cuối cùng.
Ví dụ:
Các đối số 5 8 25 * 9 6 2 - 104 / 4 7 + 6 % 14
sẽ dẫn đến:
5 8 25 * 9 6 2 - 104 / 4 7 + 6 % 14
0 5 13 38 342 2052 4104 4000 1000 142 148 8 -> 8
Các đầu vào sẽ là đối số dòng lệnh hoặc hàm hoặc tương đương với ngôn ngữ của bạn.
Mã ngắn nhất sẽ thắng!
%
tròn theo hướng -inf thay vì 0?