Mỏ muối lâu đời nhất của Ba Lan, nằm ở Bochnia *, được bắt đầu vào năm 1248, chúng ta có thể xem xét một con số kỳ diệu . Chúng ta có thể thấy rằng nó bằng 4 chữ số từ chuỗi lũy thừa : .
Vì ngày thực sự là 4 chữ số trong chuỗi, chúng tôi có thể làm cho nó dài hơn. Chúng ta có thể lặp lại quá trình cho đến khi chúng ta đạt đến vô tận. Trình tự sẽ như thế này, nếu chúng ta giới hạn nó thành số2048
124816326412825651210242048
Để làm cho nó trông tốt hơn một chút, chúng ta có thể tách các số:
1|2|4|8|16|32|64|128|256|512|1024|2048
Hãy thử một chuỗi tùy chỉnh, dài hơn ngày. Giả sử, chúng tôi muốn nó có 5 chữ số - có nhiều hơn một khả năng:
24816
81632
64128
Hoặc 3 chữ số:
124
248
816
Chúng ta cũng có thể thêm các số có 3 chữ số vào đây, nhưng giả sử, một chuỗi phải có ít nhất hai số .
* Không có thông tin về điều này trên Wikipedia tiếng Anh. Nếu bạn nhập phiên bản tiếng Ba Lan - thì có. Nếu bạn đến thăm mỏ, các công nhân cũng sẽ nói với bạn rằng nó bắt đầu vào năm 1248.
Các thách thức
Tạo một chuỗi lũy thừa như trong các ví dụ ở trên với 2 là cơ sở.
Cho một số từ phạm vi 2-27, xuất tất cả các phần có thể có của chuỗi (2048 một hoặc lớn hơn nếu bạn muốn) với số lượng chữ số bằng với đầu vào. Bạn không thể cắt một số, vì vậy đầu ra như481
không hợp lệ, vì 16 bị cắt làm đôi.
Quy tắc:
- Lỗ hổng tiêu chuẩn bị cấm.
- Bạn có thể giả sử đầu vào là một số trong phạm vi.
- Chương trình của bạn có thể chấp nhận đầu vào lớn hơn phạm vi (28+), nhưng điều đó sẽ không tăng / giảm điểm.
- Không gian trong đầu ra được bỏ qua. Bạn có thể xuất
124
hoặc thích4 8 16
. - Các khả năng khác nhau nên được phân tách bởi bất kỳ ký tự nào trong danh sách:
,./|
hoặc nguồn cấp dữ liệu. - Bạn có thể xuất ra như một mảng.
- Mỗi khả năng nên bao gồm ít nhất 2 số khác nhau .
- Bạn phải xuất một phần của chuỗi, bạn không thể trộn các số không nằm cạnh nhau, như :
14
. - Đầu ra mã hóa cứng không được phép, tuy nhiên, bạn có thể mã hóa chuỗi / số / mảng chứa chuỗi đầy đủ.
- Đầu vào 27 sẽ trả về chuỗi 2048 đầy đủ.
- Như đã đề cập trước đó, không cắt giảm số lượng . Ví dụ.
16
phải ở lại16
- bạn không thể sử dụng481
- bạn phải sử dụng4816
. - EDIT: Tôi có thể đã nói điều gì đó sai ở đó; 2048 là số cuối cùng mà chương trình của bạn sẽ hỗ trợ, bạn có thể thêm hỗ trợ cho int int lớn hơn.
Các trường hợp thử nghiệm
Đầu vào: 2
12, 24, 48
Đầu vào: 3
124, 248, 816
Đầu vào: 4
1248, 4816, 1632, 3264
Đầu vào: 5
24816, 81632, 64128
Đầu vào: 27
124816326412825651210242048
Và những con số sau này ...
Nếu tôi mắc lỗi trong bất kỳ trường hợp kiểm tra nào, hãy cho tôi biết hoặc chỉnh sửa câu hỏi.
Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte sẽ thắng!