Pengantar:
Di rumah kami memiliki jam yang menyerang jumlah yang dinyatakan pada setiap jam, tetapi juga mogok setiap setengah jam. Jadi dari 0:01 hingga dan termasuk 12:00 itu menyerang dalam urutan ini:
1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12
Tantangan:
Diberikan bilangan bulat n
, mengeluarkan daftar kerangka waktu di mana total teguran sama dengan n
. Selain itu, selalu mulai setidaknya 1 menit sebelum kerangka waktu ini dan berakhir setidaknya 1 menit setelah kerangka waktu ini (dan paling banyak 29 menit).
Misalnya, jika inputnya adalah n=8
, outputnya bisa:
[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]
Di mana kerangka waktu ini memiliki jumlah berikut, semuanya sama dengan 8
:
[1+1+2+1+3, 1+2+1+3+1, 3+1+4, 1+6+1, 1+7, 7+1, 8]
Aturan tantangan:
- Keluaran fleksibel. Anda dapat menampilkan sebagai Waktu (atau Tanggal / Tanggal Waktu) objek, cap waktu, string (dengan atau tanpa angka nol di depan), desimal dengan
.29
/.31
/.59
/.01
(yaitu0.29-3.01
alih-alih00:29-03:01
), dll. Selama jelas, sebelum dan sesudah kerangka waktu .
Selain itu, Anda dapat memilih sendiri jumlahnya. Dalam semua contoh saya, saya menggunakan 1 menit, tetapi Anda juga dapat memilih 5 menit, 15 menit, dll. Ini juga berarti Anda dapat menggunakan.4
/.6
/.9
/.1
(mis.0.4-3.1
Alih-alih00:24-03:06
) misalnya. Daftar ini juga fleksibel. Dapat berupa daftar / koleksi, larik, string yang dipisahkan pembatas, mencetak per baris ke STDOUT, dll.
Sebutkan pilihan output yang Anda buat.Catatan: Anda tidak diizinkan untuk menampilkan jumlah kerangka waktu seperti di atas, ini hanya disebutkan sebagai klarifikasi. Anda harus menampilkan kerangka waktu, termasuk sedikit sebelum dan sesudahnya. - Serangan itu membungkus dari
12:00
ke00:30
. Jadi jikan=14
, dua kerangka waktu adalah11:29-00:31
dan11:59-01:01
. - Input akan berada dalam kisaran
1 <= n <= 90
, di mana 90 adalah jumlah total dari semua kemungkinan serangan. - Kerangka waktu yang Anda kembalikan bisa dalam urutan apa pun.
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa pun'. - Aturan standar berlaku untuk jawaban Anda, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program penuh. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, silakan tambahkan penjelasan jika perlu.
Kasus uji:
(semua menggunakan 1 menit sebelum / sesudah kerangka waktu dan nol terkemuka)
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
diizinkan (menjadi 6 menit seperti yang Anda nyatakan: :24
/ :36
/ :54
/ :06
).