Для этого кода гольф, вы получите вход выдумка onacci последовательность, то есть, нормальная последовательность Фибоначчи , но с один неправильный номер. Видите, последовательность фальсифицируется ! Возьми?:D
Ваша задача - выяснить, какой номер является неправильным, и распечатать индекс (на основе 0) этого номера.
Например:
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
Характеристики:
- Последовательность может начинаться с любого номера.
- Первые два числа ввода всегда будут правильными.
- Самый короткий код (количество символов) выигрывает.
8
это неправильно, потому что оно не равно9+5
Ответы:
GolfScript (18 символов)
Ключ к этому короткому ? (находить).
источник
~]:^,
J,
3023источник
Golfscript,
3128262523источник
APL (19)
Объяснение:
k←⎕
: сохранить пользовательский ввод вk
2+/k
: сумма каждой пары элементов вk
(то есть1 1 2 3
->1+1 1+2 2+3
->2 3 5
)1↓1⌽k
: повернутьk
вправо на 1, а затем опустить первый элемент (т.е.1 1 2 3
->2 3 1
)≠
: найти место, где эти списки не равны1⍳⍨
: найти местоположение первого1
в этом списке (местоположение неправильного номера)1+
: добавить 1, чтобы компенсировать упавший элементисточник
К, 32
источник
DC,
3632dc
это калькулятор на обратном польском, поэтому, очевидно, вам нужно вводить числа в обратном порядке;)источник
Javascript (
6968616055)(60)
(61)
(68)
(69)
источник
Awk: 55
источник
JavaScript, 70
источник
Руби, 66
Моя первая попытка (несколько) сложной программы на Ruby:
источник
gets.split
на$*
(ARGV
), чтобы вводить в качестве аргументов командной строки вместо стандартного потока ввода. Пространство междуp
и$*
может также быть безопасно удалено.Python, 74
Сначала у меня было это решение, но Doorknob ответил на вопрос о формате ввода непосредственно перед тем, как я успел его опубликовать:
Python, 66
Предполагает ввод строки, разделенный новой строкой.
источник
VB.net (77)
Предполагая, что числа уже находятся в IEnumerable (Of Integer).
источник
JS, 52B
источник
Matlab / Octave, 39 байт
Спасибо Stewie Griffin за сохранение байта! (
-
экземпляр~=
)Это анонимная функция, которая вводит массив и выводит число.
Попробуйте онлайн!
источник
Котлин , 77 байт
украшенный
Тестовое задание
источник
Python (90)
источник
Mathematica 59
Поскольку требуется ввод с разделением пробелом, его
StringSplit
необходимо использовать. Далее предполагается, что входные данные имеют форму строкиi
.источник
Хаскелл, 48
источник
Желе , 11 байт
Попробуйте онлайн!
источник
QBIC , 31 байт
объяснение
Я не совсем уверен, разрешено ли это; последовательность вводится по одному члену за раз, и программа прерывается по ошибке, а не после ввода всей последовательности.
источник