Исполнитель май15 преобразует число на экране. у исполнителя есть две команды, которым присвоены номера: 1. прибавить 1 2. умножить на 2 первая команда увеличивает число на экране на 1, вторая умножает его на 2. программа для исполнителя май15 – это последовательность команд. сколько существует программ, для которых при исходном числе 3 результатом является число 41 и при этом траектория вычислений содержит число 20 и не содержит числа 27? траектория вычислений программы – это последовательность результатов выполнения всех команд программы. например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
13
Объяснение:
По умолчанию, начальная точка равна 1 (точка А)
Из точки А в точку Б только 1 путь, поэтому Б будет равно 1
Из точки А в точку Г только 1 путь, поэтому Б будет равно 1
В точку В можно добраться из А(=1), Б(=1) и Г(=1), поэтому В будет равно 3
В точку Д можно добраться из Б(=1), В(=3), поэтому Д будет равно 4
В точку Е можно добраться из В(=3) и Г(=1), поэтому Е будет равно 4
В точку Ж можно добраться из Е(=4) и Г(=1), поэтому Ж будет равно 5
В точку З можно добраться из Д(=4), Е(=4) и Ж(=5), поэтому З будет равно 13
В данном типе задач главное не потеряться среди этих дорог и не забывать, что начальная точка (в данном случае А) всегда равна 1 (если не даны другие данные, конечно же)
Надеюсь , удачи!
Для начала определим функцию определения простого числа:
def issimple(n):
r=math.ceil(math.sqrt(n))
for i in range(2,n):
if n%i==0:
return False
return True
для оптимизации перебираем числа до квадратного корня искомого числа. Если n делится на хотя бы одно число от 2-х до корня n возвращаем false. Иначе True
Приведу полный оптимизированный текст:
import math
def issimple(n):
r=math.ceil(math.sqrt(n))
for i in range(2,n):
if n%i==0:
return False
return True
n=5
s=[2,3]
while True:
if issimple(n) is True:
s.append(n)
if len(s)==10001:
break
n+=2
print(s[-1])
Объяснение:Не смотря на все попытки дальнейшей оптимизации цикл выполняется чуть меньше 3-х минут.
Основные принципы оптимизации: перебираем начиная с 5-ти и увеличиваем на 2 (чтобы не включать четные числа.
Условием выхода из цикла является длина списка = 10001
Если у вас получится выполнить задачу более оптимально рада услышать ваши предложения.
НАДЕЮСЬ ТЫ ПОНЯЛ(А)