Автор | Сообщение |
|
Отправлено: 07.12.20 17:36. Заголовок: Задача 34
34) (Д.Ф. Муфаззалов) Определите наименьшее число n такое, что при вызове F(n) второе выведенное число будет больше числа 51. Запишите в ответе сначала найденное значение n, а затем через пробел – соответствующее значение F(n). При этом ответ 520 7. То есть второе выведенное число явно меньше 51.
|
|
|
Ответов - 5
[только новые]
|
|
|
| Администратор
|
Сообщение: 2216
|
|
Отправлено: 09.12.20 10:35. Заголовок: яна пишет: То есть в..
яна пишет: цитата: | То есть второе выведенное число явно меньше 51. |
|
Второе выведенное число - 52.
|
|
|
|
Отправлено: 24.12.20 09:28. Заголовок: Ошибка в ответе
В стриме #16 Информатик БУ разбирает это задание на Паскале, ответ другой (799999 52). У меня такой же ответ на Питоне. Хотелось бы познакомиться с авторским решением. Или с вашим, Константин Юрьевич.
|
|
|
|
| Администратор
|
Сообщение: 2256
|
|
Отправлено: 24.12.20 11:22. Заголовок: imdemeneva пишет: Хо..
imdemeneva пишет: цитата: | Хотелось бы познакомиться с авторским решением. Или с вашим, Константин Юрьевич. |
| def F(n): #print(n) out.append( n ) if n>0: d=n%10+F(n//10) #print(d) out.append( d ) return d else: return 0 n = 1 while True: out = [] res = F(n) if out[1] > 51: print( n, res ) break n += 1
|
|
|
|
Отправлено: 24.12.20 11:04. Заголовок: Второе выведенное чи..
цитата: | разбирает это задание на Паскале, ответ другой (799999 52) |
| Очевидно ошибка в том, что Владимир под 52 подгонял итоговый результат, а не второе выведенное число. Второе выведенное число - это первое число без последней цифры. Минимальное число вида 52* - 520. Рекурсия вообще считает сумму цифр, поэтому f(520) = 7
|
|
|
|
Отправлено: 25.12.20 09:40. Заголовок: Ответ Константину Юрьевичу и Алексею
Благодарю, коллеги!
|
|
|
|