Автор | Сообщение |
|
Отправлено: 18.02.21 12:43. Заголовок: Задача 125 (где простые числа) - не сходится ответ
В задаче № 125 Не сходится ответ (должно быть 65 , а получается 881) Исполнитель Вычислитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1. Прибавить 2 2. Сделать простое Первая команда увеличивает число на экране на 2, вторая – получает ближайшее бóльшее простое число. Сколько существует программ, для которых при исходном числе 2 результатом является число 45 и при этом траектория вычислений содержит число 14 и не содержит числа 33? def simple(x): k=0 for i in range (1,x+1): if x%i==0: k+=1 if k==2: return 1 else: return 0 def f(n,n14): if n==14: n14=1 if n>45 or n==33: ans=0 elif n==45 and n14==1: ans=1 else: ns=n+1 while simple(ns)!=1: ns+=1 ans=f(n+2,n14)+f(ns,n14) return ans print (f(2,0))
|
|
|
Ответов - 2
[только новые]
|
|
|
Отправлено: 18.02.21 13:54. Заголовок: Попробуйте решить вр..
Попробуйте решить вручную. Не могу логику из кода понять.
|
|
|
|
| Администратор
|
Сообщение: 2468
|
|
Отправлено: 18.02.21 22:56. Заголовок: Спасибо за замечание..
Спасибо за замечание. Вы правы. По согласованию с автором ответ исправлен на 881.
|
|
|
|