Para este código de golf, recibirá una entrada de una secuencia fib onacci, es decir, una secuencia normal de Fibonacci pero con un número incorrecto. ¡Mira, la secuencia es fibrosa ! ¿Consíguelo?:D
Su trabajo es averiguar qué número es incorrecto e imprimir el índice (basado en 0) de ese número.
Por ejemplo:
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
Especificaciones:
- La secuencia puede comenzar en cualquier número.
- Los dos primeros números de la entrada siempre serán correctos.
- El código más corto (recuento de caracteres) gana.
8
es incorrecto porque no es igual9+5
Respuestas:
GolfScript (18 caracteres)
La clave para mantener este corto es ? (encontrar).
fuente
~]:^,
J,
3023fuente
Golfscript,
3128262523fuente
APL (19)
Explicación:
k←⎕
: almacena la entrada del usuario enk
2+/k
: suma cada par de elementos enk
(es decir,1 1 2 3
->1+1 1+2 2+3
->2 3 5
)1↓1⌽k
: girek
a la derecha en 1 y luego suelte el primer elemento (es decir,1 1 2 3
->2 3 1
)≠
: encuentra el lugar donde estas listas no son iguales1⍳⍨
: encuentre la ubicación del primero1
en esta lista (ubicación del número incorrecto)1+
: agregue 1 para compensar el elemento descartadofuente
K, 32
fuente
dc,
3632dc
es una calculadora de polaco inverso, por lo que obviamente debe ingresar los números en orden inverso;)fuente
Javascript (
6968616055)(60)
(61)
(68)
(69)
fuente
Awk: 55
fuente
JavaScript, 70
fuente
Rubí, 66
Mi primer intento en un programa Ruby (algo) complicado:
fuente
gets.split
con$*
(ARGV
) para tomar la entrada como argumentos de línea de comando en lugar de en la secuencia de entrada estándar. El espacio entrep
y$*
también se puede eliminar de forma segura.Python, 74
Primero tuve esta solución, pero Doorknob respondió la pregunta sobre el formato de entrada justo antes de que tuviera tiempo de publicarla:
Python, 66
Asume una entrada separada de nueva línea.
fuente
VB.net (77)
Suponiendo que los números ya están en un IEnumerable (Of Integer).
fuente
JS, 52B
fuente
Matlab / Octave, 39 bytes
¡Gracias a Stewie Griffin por guardar un byte! (
-
incrustado de~=
)Esta es una función anónima que ingresa una matriz y genera un número.
Pruébalo en línea!
fuente
Kotlin , 77 bytes
Embellecido
Prueba
fuente
Pitón (90)
fuente
Mathematica 59
Debido a que se requiere una entrada delimitada por espacios,
StringSplit
debe emplearse. Lo siguiente asume que la entrada tiene la forma de una cadenai
.fuente
Haskell, 48
fuente
Jalea , 11 bytes
Pruébalo en línea!
fuente
QBIC , 31 bytes
Explicación
No estoy muy seguro de si esto está permitido; la secuencia se ingresa un término a la vez, y el programa aborta por error, no después de ingresar la secuencia completa.
fuente