Pour ce code golf, vous recevrez une entrée d'une séquence fib onacci, c'est-à-dire une séquence Fibonacci normale mais avec un numéro incorrect. Vous voyez, la séquence est trompeuse ! Tu piges?:D
Votre travail consiste à découvrir quel numéro est incorrect et à imprimer l'index (basé sur 0) de ce numéro.
Par exemple:
Input : 1 1 2 9 5 8 13
Output: 3
Input : 8 13 21 34 55 80
Output: 5
Input : 2 3 5 5 13 21
Output: 3
Caractéristiques:
- La séquence peut commencer à n'importe quel nombre.
- Les deux premiers chiffres de l'entrée seront toujours corrects.
- Le code le plus court (nombre de caractères) gagne.
8
c'est incorrect parce que ce n'est pas égal9+5
Réponses:
GolfScript (18 caractères)
La clé pour garder ce court est ? (trouver).
la source
~]:^,
J,
3023la source
Golfscript,
3128262523la source
APL (19)
Explication:
k←⎕
: stocker les entrées utilisateur dansk
2+/k
: additionne chaque paire d'éléments dansk
(ie1 1 2 3
->1+1 1+2 2+3
->2 3 5
)1↓1⌽k
: faire pivoter de 1k
vers la droite puis déposer le premier élément (c'est1 1 2 3
-à- dire ->2 3 1
)≠
: trouver l'endroit où ces listes ne sont pas égales1⍳⍨
: trouver l'emplacement du premier1
dans cette liste (emplacement du numéro incorrect)1+
: ajoutez 1 pour compenser l'élément suppriméla source
K, 32
la source
dc,
3632dc
est une calculatrice polonaise inversée, vous devez donc évidemment saisir les nombres dans l'ordre inverse;)la source
Javascript (
6968616055)(60)
(61)
(68)
(69)
la source
Awk: 55
la source
JavaScript, 70
la source
Rubis, 66
Ma première tentative d'un programme Ruby (quelque peu) compliqué:
la source
gets.split
par$*
(ARGV
) pour prendre l'entrée comme arguments de ligne de commande au lieu du flux d'entrée standard. L'espace entrep
et$*
peut également être retiré en toute sécurité.Python, 74
J'avais d'abord cette solution, mais Doorknob a répondu à la question sur le format d'entrée juste avant que je n'aie le temps de la poster:
Python, 66
Suppose une entrée séparée par une nouvelle ligne.
la source
VB.net (77)
En supposant que les nombres sont déjà dans un IEnumerable (Of Integer).
la source
JS, 52B
la source
Matlab / Octave, 39 octets
Merci à Stewie Griffin d' avoir enregistré un octet! (
-
instread de~=
)Il s'agit d'une fonction anonyme qui entre un tableau et sort un nombre.
Essayez-le en ligne!
la source
Kotlin , 77 octets
Embellie
Tester
la source
Python (90)
la source
Mathematica 59
Parce qu'une entrée délimitée par l'espace est requise,
StringSplit
doit être utilisée. Ce qui suit suppose que l'entrée est sous la forme d'une chaînei
.la source
Haskell, 48
la source
Gelée , 11 octets
Essayez-le en ligne!
la source
QBIC , 31 octets
Explication
Je ne sais pas trop si cela est autorisé; la séquence est entrée un terme à la fois et le programme s'interrompt en cas d'erreur, pas après avoir entré la séquence entière.
la source