Introduction:
À la maison, nous avons une horloge qui frappe le montant indiqué à chaque heure, mais qui sonne également une fois toutes les demi-heures. Donc de 0:01 à 12:00 inclus, il frappe dans cet ordre:
1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12
Défi:
Étant donné un entier n
, affichez une liste de délais dans lesquels le nombre total de frappes est égal à n
. De plus, commencez toujours au moins 1 minute avant ce délai et terminez au moins 1 minute après ce délai (et au plus 29 minutes).
Par exemple, si l'entrée est n=8
, la sortie pourrait être:
[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]
Pour lesquels ces délais ont les sommes suivantes, toutes égales 8
:
[1+1+2+1+3, 1+2+1+3+1, 3+1+4, 1+6+1, 1+7, 7+1, 8]
Règles du défi:
- La sortie est flexible. Vous pouvez sortir en tant qu'objets Time (ou Date / DateTime), horodatages, chaînes (avec ou sans zéros non significatifs), décimales avec
.29
/.31
/.59
/.01
(c'est-0.29-3.01
à- dire au lieu de00:29-03:01
), etc. Tant qu'il est clair que c'est avant et après le laps de temps .
De plus, vous pouvez choisir vous-même le montant. Dans tous mes exemples, j'utilise 1 minute, mais vous pouvez également choisir 5 minutes, 15 minutes, etc. Cela signifie également que vous pouvez utiliser.4
/.6
/.9
/.1
(c'est-0.4-3.1
à- dire au lieu de00:24-03:06
) par exemple. La liste est également flexible. Il peut s'agir d'une liste / collection, d'un tableau, d'une chaîne séparée par un délimiteur, d'une impression par ligne vers STDOUT, etc.
Veuillez indiquer le choix de sortie que vous avez fait.Remarque: Vous n'êtes pas autorisé à sortir les sommes des délais comme ci-dessus, cela n'est mentionné qu'à titre de clarification. Vous devez sortir les délais, y compris légèrement avant et après. - Les grèves se déroulent de
12:00
à00:30
. Donc, sin=14
, deux des délais sont11:29-00:31
et11:59-01:01
. - L'entrée sera dans la plage
1 <= n <= 90
, où 90 est la somme totale de toutes les frappes possibles. - Les délais que vous retournez peuvent être dans n'importe quel ordre.
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues non-golfeur de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse, vous êtes donc autorisé à utiliser STDIN / STDOUT, des fonctions / méthodes avec les paramètres appropriés et des programmes complets de type retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code.
- Veuillez également ajouter une explication si nécessaire.
Cas de test:
(tous utilisant 1 minute avant / après les délais et les zéros non significatifs)
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
est autorisé (soit 6 minutes comme vous l'avez dit: :24
/ :36
/ :54
/ :06
).