Joe , 5 3 octets (+2 ou +3 pour l' -t
indicateur)
Eh bien, apparemment, je n'ai pas utilisé tout le potentiel de Joe. C'était possible lorsque j'ai posté cela pour la première fois.
\AR
Ici, R
donne la plage de 0 à n, exclusif. En \A
prend ensuite des préfixes successifs ( A
c'est la fonction d'identité). Exemples:
Avec -t
indicateur (remarque: c'est maintenant la sortie standard même sans indicateur):
(\AR)5
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
\AR5
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
\AR2
0
0 1
\AR1
0
\AR0
Sans ça:
\AR5
[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
(\AR)5
[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
\AR2
[[0], [0, 1]]
\AR1
[[0]]
\AR0
[]
Les règles ont un peu changé. Mon ancien code ne se comportait pas correctement avec N = 0. De plus, la sortie peut désormais être simplement une liste imbriquée, elle -t
peut donc être supprimée.
1R1+R
Maintenant, Rn
donne une plage de 0 à n, exclusif. Si donné 0, il renvoie une liste vide. 1+
ajoute 1 à chaque élément de cette plage. 1R
mappe les valeurs sur des plages de 1 à x. Les menteurs vides, lorsqu'ils sont mappés, renvoient des listes vides.
Exemple de sortie:
1R1+R0
[]
1R1+R5
[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]]
Mise à jour: je viens de remarquer quelque chose. La fonction mappe automatiquement pour classer les éléments 0. L'exemple suivant est exécuté avec -t
flag.
1R1+R3 5 8
1
1 2
1 2 3
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
Ancien: 5 octets (avec le -t
drapeau)
1R1R
Il s'agit d'une fonction anonyme qui prend un nombre, crée une liste de 1 à N ( 1Rn
) et mappe ces valeurs à la plage précédente, donnant une plage de 1 à x pour chaque élément de la plage 1 à N.
Le -t
drapeau donne la sortie sous forme de table de type J.
1R1R5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Remarque: la langue est très nouvelle et incomplète, mais la dernière version a été publiée avant ce défi.