Описание задачи следующее:
Для любого числа x0 определите последовательность, используя следующую рекурсию xi+1 = количество цифр в десятичном представлении xi
Ваша задача — определить наименьшее положительное число i такое, что xi=xi-1.
Изначально я придумал код A, но после того, как код A не уложился в срок, я немного повозился с кодом, чтобы получить код B.
Пример ввода
Код: Выделить всё
42
5
END
Код: Выделить всё
3
2
Код: Выделить всё
#time limit exceeded
def recurrence_index(prev):
counter = 1
while True:
current = len(str(prev))
if current == prev:
return counter
else:
counter += 1
prev = current
while True:
initial = input().strip()
if initial == 'END':
break
initial = int(initial)
print(recurrence_index(initial))
Код: Выделить всё
def recurrence_index(prev):
counter = 2
while True:
current = len(str(prev))
if current == prev:
return counter
else:
counter += 1
prev = current
while True:
initial = input().strip()
if initial == 'END':
break
l = len(initial)
if l == 1 and int(initial) == 1:
print(1)
else:
print(recurrence_index(l))
Подробнее здесь: https://stackoverflow.com/questions/704 ... imit-but-m
Мобильная версия