Dữ liệu vào:
Một danh sách / mảng các số nguyên mà mỗi mục nằm trong phạm vi 2-36
.
Đầu ra:
Tổng các số nguyên (dưới dạng cơ sở 10), trong đó mỗi số nguyên tiếp theo nằm trong cơ sở của giá trị trước đó (bắt đầu bằng cơ sở 10 thông thường).
Ví dụ:
Giả sử chúng ta có một đầu vào như thế này: [4, 12, 34, 20, 14, 6, 25, 13, 33]
Sau đó, chúng ta có một số tiền như thế này:
4 (4 in base-10) +
6 (12 in base-4 ) +
40 (34 in base-12) +
68 (20 in base-34) +
24 (14 in base-20) +
6 (6 in base-14) +
17 (25 in base-6 ) +
28 (13 in base-26) +
42 (33 in base-13)
= 235
Cơ sở toán học đã giải thích:
Tôi đã xem xét giả định rằng mọi người đều biết cơ sở hoạt động như thế nào, nhưng tôi sẽ đưa ra một ví dụ ngắn gọn về cách thức hoạt động của nó, chỉ trong trường hợp. Hãy lấy34 in base-12
ví dụ, làm thế nào chúng ta có được40
?
1-34 in regular base-10:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34
So, from 1 to 34 is 34 steps in base-10
1-34 in base-12:
1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B, 30, 31, 32, 33, 34
So, from 1 to 34 is 40 steps in base-12
Đây có lẽ là một máy tính hữu ích.
Quy tắc thử thách:
- Kích thước mảng sẽ nằm trong phạm vi hợp lý (như
1-100
/ xem các trường hợp thử nghiệm). - Các trường hợp thử nghiệm sẽ không bao giờ chứa số nguyên trong đó giá trị hiện tại là không hợp lệ vì nó là cơ sở trước (tức là Bạn sẽ không bao giờ có cái gì đó như
19 in base-6
hoặc6 in base-6
, bởi vì cơ sở-6 chỉ chứa các chữ số0-5
). - Bạn có thể lấy đầu vào theo bất kỳ cách nào bạn muốn. Có thể là một mảng int, như một chuỗi được phân tách bằng dấu phẩy / dấu cách, v.v. Cuộc gọi của bạn. (Bạn cũng được phép thực hiện đảo ngược mảng int, có thể hữu ích cho các ngôn ngữ lập trình dựa trên ngăn xếp.)
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không chơi gôn. Cố gắng đưa ra một câu trả lời ngắn nhất có thể cho bất kỳ ngôn ngữ lập trình nào. - Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Các trường hợp thử nghiệm:
[4, 12, 34, 20, 14, 6, 25, 13, 33] -> 235
4+ 6+ 40+ 68+ 24+ 6+ 17+ 28+ 42
[5, 14, 2, 11, 30, 18] -> 90
5+ 9+ 2+ 3+ 33+ 38
[12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 12, 2, 11, 3, 10, 2, 10] -> 98
12+ 13+ 11+ 9+ 8+ 7+ 6+ 5+ 4+ 3+ 5+ 2+ 3+ 3+ 3+ 2+ 2
[36, 36] -> 150
36+ 114