Étant donné un tableau entier:
- Commencer à partir du premier numéro
- Saut en avant de n positions où n est la valeur de la position actuelle
- Supprimer la position actuelle, en faisant de la position suivante la position actuelle.
- Aller à l'étape 2 jusqu'à ce qu'il ne reste qu'un numéro
- Imprimer ce numéro
Règles
Le tableau est enveloppé (le premier chiffre après le dernier numéro du tableau est le premier).
Un zéro se supprime (évidemment).
Les nombres négatifs ne sont pas autorisés en entrée.
Cas de test
[1] => 1
[1,2] => 1
[1,2,3] => 3
[1,2,2] => 1
[1,2,3,4] => 1
[6,2,3,4] => 4
[1,2,3,4,5] => 5
[0,1] => 1
[0,0,2,0,0] => 0
Exemple pas à pas
[1,4,2,3,5]
^ start from the first position
^ jump 1 position (value of the position)
[1, 2,3,5] remove number in that position
^ take next position of the removed number (the 'new' 'current' position)
^ jump 2 positions
[1, 2,3 ] remove number in that position
^ take next position (looping on the end of the array)
^ jump 1 position
[1, 3 ] remove number in that position
^ take next position (looping)
^ jump 3 positions (looping on the end of the array)
[ 3 ] remove number in that position
print 3
Exemple n ° 2
[4,3,2,1,6,3]
^ start from the first position
^ jump 4 positions
[4,3,2,1, 3] remove number in that position
^ take next position
^ jump 3 positions
[4,3, 1, 3] remove number in that position
^ take next position
^ jump 1 positions
[4,3, 1 ] remove number in that position
^ take next position
^ jump 4 positions
[4, 1 ] remove number in that position
^ take next position
^ jump 1 position
[ 1 ] remove number in that position
print 1
C'est code-golf , la réponse la plus courte en octets gagne!