Le titre est composé de 'Sequence Index Digit Not'.
Défi:
Étant donné un entier n
qui est >= 0
, sortez le n
'ème numéro de la séquence suivante.
Voici les 50 premiers éléments, avec son index (0 indexé) au-dessus:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
1 0 3 2 5 4 7 6 9 8 22 20 30 24 23 26 25 28 27 32 11 33 10 14 13 16 15 18 17 31 12 29 19 21 50 40 41 42 44 45 35 36 37 51 38 39 52 53 55 56 34
Comment fonctionne cette séquence?
Le numéro à l'index n
doit être le premier dans l'ordre qui n'a pas de chiffres en commun avec n
, et ne s'est pas encore produit pour les index précédents. Donc, quand nous regardons une séquence normale comme celle-ci à partir de 0-60
:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Nous définissons les n
'th valeurs comme ceci:
0
: Le premier nombre (0
) contient le même chiffre, nous recherchons donc le suivant (1
), qui ne contient pas le même chiffre. Donc, lesn=0
sorties1
.1
: Le premier nombre (0
) ne contient pas le même chiffre, doncn=1
sort0
.2
: Nous avons déjà rencontré0
et1
, et le chiffre suivant (2
) contient le même chiffre, nous recherchons donc le suivant (3
), qui ne contient pas le même chiffre. Donc, lesn=2
sorties3
.- ...
10
: Nous avons déjà rencontré0-9
, donc la prochaine ligne est10
.10-19
contenir le chiffre correspondant1
,20
contient le chiffre correspondant0
,21
contient le chiffre correspondant de1
nouveau,22
est valide, de sorte que lesn=10
sorties22
.- etc.
Règles du défi:
- Si votre langue est indexée 1 (ou si vous le souhaitez), vous êtes autorisé à démarrer la séquence à
3 2 5 4 7 ...
(en sautant1
atn=0
et0
atn=1
). - L'indice minimum le plus grand que vous devriez prendre en charge est
25,000
. REMARQUE: la séquence s'arrête à l'index1,023,456,788
, car l'index suivant dans la ligne contient les 10 chiffres. - Vous êtes également autorisé à produire / renvoyer un tableau / liste de la séquence entière jusqu'à et y compris l'index
n
si vous le souhaitez.
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 autres que le golf 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, fonctions / méthode 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:
Cette séquence a en fait créé des paires concernant l'index et les sorties. Si l'index n
sort o
, l'index o
sort n
. Vous pouvez donc saisir la gauche ou la droite, et la sortie sera de l'autre côté:
0 <-> 1 (this test case is optional)
2 <-> 3
10 <-> 22
12 <-> 30
34 <-> 50
89 <-> 100
111 <-> 200
112 <-> 300
199 <-> 322
2231 <-> 4456
9605 <-> 11118
19235 <-> 46000
23451 <-> 60668
25000 <-> 13674
Voici une boîte à pâte des 25 001 premiers cas de test si vous voulez en essayer d'autres.