Додана гра чисел
Напишіть функцію / програму, яка приймає два цілих параметри цілих параметрів або цілих змінних , початкове число та макс. Кількість ітерацій. Код повинен виконувати наступний приклад гри для побудови нового числа та повторювати, поки число не залишиться одноцифровою. напр.
3 7 2 = (3 + 7) & (7 + 2) = 10 9
1 0 9 = (1 + 0) & (0 + 9) = 1 9
1 9 = (1 + 9) = 10
1 0 = (1 + 0) = 1
В основному, беручи кожну окрему цифру і додаючи її до свого сусіда, потім додаючи також результат наступного додавання.
Максимальна кількість ітерацій полягає в захисті нескінченних циклів, і коли досягається макс, код повинен скидати останні 5 кроків. Той самий вихід має відбуватися під час закінчення, досягнувши однієї цифри. Якщо відбулося менше 5 кроків, виведіть лише дійсні числа.
Вихід повинен виглядати як ( Step: Number
), включаючи останні 5 кроків завершених або припинених етапів:
func(3541, 50)
створив би такий точний вихідний формат:
6: 1411
7: 552
8: 107
9: 17
10: 8
func(3541, 5)
буде виробляти:
1: 895
2: 1714
3: 885
4: 1613
5: 774
Весь розрахунок:
1: 895
2: 1714
3: 885
4: 1613
5: 774
6: 1411
7: 552
8: 107
9: 17
10: 8
Якщо менше 5 кроків, просто надрукуйте ці кроки.
Використовуйте лише вбудовані вкладки, параметри можуть бути з будь-якого місця (що найпростіше для вашої мови на вибір). Немає обмеження на максимальний цілий розмір, і якщо є переливи, нехай воно руйнується.
Зважаючи на це не так вже й складно з точки зору головоломки, я дам до 25 неділі о 20:00 (UTC + 8) для подань, які будуть розглянуті для прийнятої відповіді, і тоді найкоротший з будь-якої мови стане переможцем.
Редагувати:
Вітаємо Говарда, що виграв із 48 відповідями GolfScript .
Особлива згадка 2 - е місця Марини з 66 APL в відповіді .
Моя особиста улюблена (упереджена до JavaScript) була відповіддю core1024 .
func(3541, 5)
слід надрукувати 5 кроків чи 10?