前書き:
自宅には、1時間ごとに指定された量を打つ時計がありますが、30分ごとに1回打つ時計もあります。したがって、0:01から12:00までは、この順序でストライキします。
1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12
チャレンジ:
整数を指定n
すると、総ストライクがに等しい時間枠のリストを出力しn
ます。さらに、常にこの時間枠の少なくとも1分前に開始し、この時間枠の少なくとも1分後(最大で29分)に終了します。
たとえば、入力がのn=8
場合、出力は次のようになります。
[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]
これらの時間枠には以下の合計があり、すべて等しい8
:
[1+1+2+1+3, 1+2+1+3+1, 3+1+4, 1+6+1, 1+7, 7+1, 8]
チャレンジルール:
- 出力は柔軟です。Time(またはDate / DateTime)オブジェクト、タイムスタンプ、文字列(先頭のゼロの有無にかかわらず)、
.29
/.31
/.59
/.01
(つまりの0.29-3.01
代わりに00:29-03:01
)などの10 進数として出力できます。明確な限り、タイムフレームの前後。
また、金額は自分で選択できます。すべての私の例では、私は1分を使用しますが、あなたはまた、など、5分、15分を、選択することができますこれはまた、あなたが使用できることを意味します.4
/.6
/.9
/.1
(つまり、0.4-3.1
代わりの00:24-03:06
)たとえば。リストも柔軟です。リスト/コレクション、配列、区切り文字で区切られた文字列、STDOUTへの行ごとの印刷などを指定できます。どの出力を選択したかを明記して
ください。注:上記のような時間枠の合計を出力することは許可されていません。これは説明としてのみ言及されています。時間枠を出力する必要があります(わずかにその前後を含む)。 - ストライキはから
12:00
に折り返し00:30
ます。もしそうであればn=14
、時間フレームの2がある11:29-00:31
と11:59-01:01
。 - 入力はの範囲になります
1 <= n <= 90
。90はすべての可能なストライキの合計です。 - 返される時間枠は任意の順序にすることができます。
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、非コードゴルフ言語で回答を投稿することを妨げないでください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - 回答には標準的な規則が適用されるため、STDIN / STDOUT、適切なパラメーターと戻り値型、完全なプログラムを持つ関数/メソッドを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテストへのリンクを追加してください。
- また、必要に応じて説明を追加してください。
テストケース:
(時間枠と先行ゼロの前後1分をすべて使用)
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
が許可されます(あなたが述べたように6分::24
/ :36
/ :54
/ :06
)。