Як ви, мабуть, знаєте, число Фібоначчі - це число, яке є сумою попередніх двох чисел у ряді.
Цифра Фібоначчі ™ - це сума двох попередніх цифр .
Наприклад, для початку серії 1,1, серією буде 1,1,2,3,5,8,13,4,7,11,2...«Зміна відбувається після того 13, де замість додавання 8+13ви додаєте 1+3. Серія циклів на кінці, де 4+7=11і 1+1=2, так само, як починається серія.
В якості іншого прикладу, в ряд , що починається 2,2: 2,2,4,6,10,1,1,2,3,5,8,13,4,7,11,2,3.... Це починається унікально, але як тільки цифри підсумовуються 10, ви закінчуєте 1+0=1, 0+1=1, і серія продовжується - і циклічно - так само, як і 1,1серія.
Змагання
З огляду на ціле число 0≤n≤99, обчисліть цикл у ряді цифр Фібоначчі, починаючи з цих двох цифр. (Вам, безумовно, дозволяється розглядати цілі числа поза цим діапазоном, але це не потрібно.) Якщо вам введено одноцифрове введення, ваш код повинен інтерпретувати його для позначення початку серії 0,n.
Усі числа в циклі, які є двоцифровими, повинні виводитися у вигляді двох цифр. Так, наприклад, цикл для 1,1містив би 13, не 1,3.
Вихід починається з першого числа в циклі. Отже, виходячи з вищезазначених обмежень, цикл для 1,1починається з 2, оскільки 1,1і 11рахуються окремо.
Кожне число результатів може бути розділене тим, що ви хочете, до тих пір, поки це буде послідовно. У всіх моїх прикладах я використовую коми, але пробіли, розриви рядків, випадкові букви тощо дозволяються, якщо ви завжди використовуєте одне і те ж розділення. Це 2g3g5g8g13g4g7g11є законним результатом для 1, але 2j3g5i8s13m4g7sk11це не так. Ви можете використовувати рядки, списки, масиви, будь-що, за умови правильних чисел у правильному порядку, розділених послідовним роздільником. Брекетинг всього виходу також допускається (напр. , (5,9,14)Або [5,9,14]і т.д.).
Випробування:
1 -> 2,3,5,8,13,4,7,11
2 -> 2,3,5,8,13,4,7,11
3 -> 11,2,3,5,8,13,4,7
4 -> 3,5,8,13,4,7,11,2
5 -> 2,3,5,8,13,4,7,11
6 -> 3,5,8,13,4,7,11,2
7 -> 14,5,9
8 -> 13,4,7,11,2,3,5,8
9 -> 11,2,3,5,8,13,4,7
0 -> 0
14 -> 5,9,14
59 -> 5,9,14
Це код-гольф , тому виграє найменша кількість байтів.
14і 59даю той же результат. Якщо 59трактується як початковий5,9 і дозволяє це як частина циклу, то, безумовно, 14повинен бути початок його циклу?
0,1,1,2,3,5,8,13,4,7,11,2,3. Перший раз, коли цикл повторюється, це другий 2.
1,4,5,9,14,5і 5,9,14,5,9. Вони обидва повторюють, починаючи з другого 5. Як я вже говорив раніше, тільки вхід розділений; пізніші числа зберігають свої цифри разом у послідовності.