Giới thiệu:
Ở nhà, chúng tôi có một chiếc đồng hồ tấn công số tiền đã nêu mỗi giờ, nhưng cũng có một lần bấm vào mỗi nửa giờ. Vì vậy, từ 0h01 đến và bao gồm 12:00, nó đình công theo thứ tự này:
1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12
Thử thách:
Cho một số nguyên n
, xuất ra một danh sách các khung thời gian trong đó tổng số lần đình công bằng n
. Ngoài ra, luôn luôn bắt đầu ít nhất 1 phút trước khung thời gian này và kết thúc ít nhất 1 phút sau khung thời gian này (và nhiều nhất là 29 phút).
Ví dụ: nếu đầu vào là n=8
, đầu ra có thể là:
[00:59-03:01, 01:29-03:31, 02:59-04:01, 05:29-06:31, 06:29-07:01, 06:59-07:31, 07:59-08:01]
Trong đó các khung thời gian này có các khoản tiền sau, tất cả đều bằng nhau 8
:
[1+1+2+1+3, 1+2+1+3+1, 3+1+4, 1+6+1, 1+7, 7+1, 8]
Quy tắc thử thách:
- Đầu ra là linh hoạt. Bạn có thể xuất ra dưới dạng các đối tượng Thời gian (hoặc Ngày / Ngày), dấu thời gian, chuỗi (có hoặc không có số 0 đứng đầu), số thập phân có
.29
/.31
/.59
/.01
(tức là0.29-3.01
thay vì00:29-03:01
), v.v ... Miễn là nó rõ ràng trước và sau khung thời gian .
Ngoài ra, bạn có thể tự chọn số tiền. Trong tất cả các ví dụ của tôi, tôi sử dụng 1 phút, nhưng bạn cũng có thể chọn 5 phút, 15 phút, v.v. Điều này cũng có nghĩa là bạn có thể sử dụng.4
/.6
/.9
/.1
(tức là0.4-3.1
thay vì00:24-03:06
) chẳng hạn. Danh sách này cũng linh hoạt. Có thể là một danh sách / bộ sưu tập, mảng, chuỗi được phân tách bằng dấu phân cách, in trên mỗi dòng thành STDOUT, v.v.
Vui lòng cho biết lựa chọn đầu ra nào bạn đã thực hiện.Lưu ý: Bạn không được phép xuất tổng của các khung thời gian như trên, điều này chỉ được đề cập dưới dạng làm rõ. Bạn phải xuất các khung thời gian, bao gồm một chút trước và sau nó. - Các cuộc đình công làm bao quanh từ
12:00
đến00:30
. Vì vậy, nếun=14
, hai trong số các khung thời gian là11:29-00:31
và11:59-01:01
. - Đầu vào sẽ nằm trong phạm vi
1 <= n <= 90
, trong đó 90 là tổng của tất cả các cuộc đình công có thể. - Khung thời gian bạn trả về có thể theo thứ tự bất kỳ.
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 mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - 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 và kiểu trả về, 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:
(tất cả sử dụng 1 phút trước / sau khung thời gian và số 0 đứng đầu)
Input: 8
Ouput:
[00:59-03:01, 01:29-03:31, 02:59-04:01, 05:29-06:31, 06:29-07:01, 06:59-07:31, 07:59-08:01]
Input: 14
Output:
[00:29-04:01, 00:59-04:31, 02:59-05:01, 04:29-06:31, 05:59-07:01, 11:29-00:31, 11:59-01:01]
Input: 90
Output:
[00:29-00:01, 00:59-00:31, 01:29-01:01, 01:59-01:31, 02:29-02:01, 02:59-02:31, 03:29-03:01, 03:59-03:31, 04:29-04:01, 04:59-04:31, 05:29-05:01, 05:59-05:31, 06:29-06:01, 06:59-06:31, 07:29-07:01, 07:59-07:31, 08:29-08:01, 08:59-08:31, 09:29-09:01, 09:59-09:31, 10:29-10:01, 10:59-10:31, 11:29-11:01, 11:59-11:31]
Input: 1
Output:
[00:29-00:31, 00:59-01:01, 01:29-01:31, 02:29-02:31, 03:29-03:31, 04:29-04:31, 05:29-05:31, 06:29-06:31, 07:29-07:31, 08:29-08:31, 09:29-09:31, 10:29-10:31, 11:29-11:31]
Input: 2
Output:
[00:29-01:01, 00:59-01:31, 01:59-02:01]
.4
/ .6
/ .9
/ .1
được cho phép (là 6 phút như bạn đã nêu: :24
/ :36
/ :54
/ :06
).