Description du défi
Nous avons eu quelques défis concernant la séquence de recherche et de présentation . Rappel rapide:
- La séquence commence par
1
, - Les termes suivants de cette séquence sont générés en énumérant chaque groupe de chiffres répétitifs dans le terme précédent,
Les premiers termes sont donc:
1 "one"
11 "one one" (we look at the previous term)
21 "two ones"
1211 "one two, one one"
111221 "one one, one two, two ones"
312211 "three ones, two twos, one one"
Faisons maintenant la même chose, mais utilisons des chiffres romains à la place. Nous commençons par I
et suivons les mêmes règles (nous appliquons la règle de comptage des chiffres aux caractères à la place, nous lisons donc IVX
au one one, one five, one ten
lieu de one four, one ten
ou d'une autre manière):
I "one"
II "one one"
III "two ones" = "II" + "I"
IIII "three ones" = "III" + "I"
IVI "four ones" = "IV" + "I"
IIIVII "one one, one five, one one"
IIIIIVIII "three ones, one five, two ones" = ("III" + "I") + ("I" + "V") + ("II" + "I")
Étant donné un entier positif N
, soit:
- Sortez les premiers
N
chiffres de cette séquence (tout séparateur raisonnable est bien, ainsi que["I", "II", "III", ...]
- Afficher
N
le terme de cette séquence (il peut être indexé 0).
N'oubliez pas de rendre votre code aussi court que possible, car il s'agit d'un défi de code-golf !
EDIT: Je crois qu'il y a toujours une façon standard / préférée d'exprimer des entiers en chiffres romains (comme 95
-> XCV
au lieu de VC
). Quelques convertisseurs de chiffres romains que j'ai trouvés en ligne corroborent mon opinion. En cas de doute, utilisez un convertisseur en ligne , car répertorier tous les cas de bord possibles et les règles spécifiques d'écriture des chiffres romains n'est pas le but de ce défi.
EDIT2: @PeterTaylor et @GregMartin ont fait remarquer que des chiffres inférieurs ou égaux à 5
apparaître dans la séquence, de sorte que vous n'avez pas à vous soucier de l'ambiguïté des chiffres romains (numéros 1
- 8
sont I
, II
, III
, IV
, V
, VI
, VII
, et VIII
)
4
/ IV
/ IIII
? Ou 95
/ XCV
/ VC
? Il n'y a peut-être pas toujours une façon unique d'exprimer un entier, mais je suis presque sûr qu'il y en a toujours une préférée (standard) - corrigez-moi si je me trompe.