РЕДАКТИРОВАТЬ: я буду принимать ответ понедельник, 15.02.2016. Пусть байты всегда будут в твою пользу!
В своем задании «Распечатать последовательность N-Боначчи» @DJMcGoathem описывает последовательности N-Боначчи, в которых предыдущие N чисел суммируются вместо традиционных 2 последовательности Фибоначчи ( называемой «последовательность дуэт- nacci»). Затем он попросил взять два входа, X и N, а затем вывести X- й номер N- nacci.
Я предлагаю обратное.
Для заданной последовательности выведите, какой N- последовательностью она является подмножеством. Я говорю "подмножество", потому что:
- А) эти последовательности бесконечны
- Б) если дано начало последовательности, вы можете просто посчитать количество ведущих 1
В случае, если он может принадлежать нескольким последовательностям N- nacci, выберите самую низкую.
В случае, если он не принадлежит ни к какой последовательности N-nacci , ваша программа может сделать что-либо, кроме печати чего-то, что может быть ошибочно принято за вывод. Эти поведения включают (но не ограничиваются ими): бесконечный цикл, ошибку, сбой, удаление самого себя (* кашель * бдение * кашель кашель *) или создание черной дыры (до тех пор, пока эта черная дыра не производит ничего, что могло бы ошибочно принять за верный вывод).
Ради этого вызова эти последовательности начинаются с 1. Это означает, что любая последовательность N- nacci начинается с N единиц. Кроме того, Nдолжно быть положительным целым числом. Так что без -1 -нач и т. Д.
Тестовые случаи:
1,1,1 -> 1
49, 97 -> 7
55, 89, 144 -> 2
1 -> 1
6765 -> 2
12, 23, 45, 89 -> 12
100, 199 -> 100
create a black hole (as long as this black hole does not produce anything that could be mistaken for valid output).
О, спирали черной дыры сходятся к золотому сечению! Это должен быть действительный вывод для последовательности duoacci!