У исполнителя калькулятор три команды которым присвоены номера
Перейти к содержимому

У исполнителя калькулятор три команды которым присвоены номера

  • автор:

У исполнителя калькулятор три команды которым присвоены номера

Задание ЕГЭ по информатике
Линия заданий — 23
Наслаждайтесь интересным учебником и решайте десятки тестов на Studarium,
мы всегда рады вам! =)

19108. У исполнителя Калькулятор три команды, которым присвоены номера:

- прибавь 1 - прибавь 2 - прибавь предыдущее

Первая команда увеличивает число на экране на 1, вторая увеличивает это число на 2, третья прибавляет к числу на экране число, меньшее на 1 (к числу 3 прибавляется 2, к числу 11 прибавляется 10 и т. д.). Программа для исполнителя – это последовательность команд. Сколько существует программ, которые число 2 преобразуют в число 9?

Проверить Показать подсказку

Верный ответ: 57

P.S. Нашли ошибку в задании? Пожалуйста, сообщите о вашей находке 😉
При обращении указывайте id этого вопроса — 19108.

У исполнителя калькулятор три команды которым присвоены номера

Меню

Задание ЕГЭ по информатике
Линия заданий — 23
Наслаждайтесь интересным учебником и решайте десятки тестов на Studarium,
мы всегда рады вам! =)

18919. У исполнителя Калькулятор есть три команды, которым присвоены номера:

1. Прибавить 1 2. Прибавить 2 3. Умножить на 3

Сколько существует программ, которые преобразуют исходное число 1 в число 38, и при этом траектория вычислений содержит число 8 и не содержит чисел 10 и 11?

Проверить Показать подсказку

Верный ответ: 23374

P.S. Нашли ошибку в задании? Пожалуйста, сообщите о вашей находке 😉
При обращении указывайте id этого вопроса — 18919.

Исполнитель Калькулятор преобразует число на экране. У исполнителя есть три команды, которым присвоены номера

Author24 — интернет-сервис помощи студентам

(А.Н. Носкин) Исполнитель Калькулятор преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 2
2. Прибавить 4
3. Прибавить 5
Определите число, для получения которого из числа 31 существует 1001 программа.

Как возможно решить эту задачу быстро? У меня возникла лишь идея перебирать цифры, но это очень долго.
Вот что написал:

1 2 3 4 5 6 7 8 9 10 11 12 13
def path(curr, end, k): if (curr > end): return 0 if (curr == end): if (k == 1001): return 1 else: return 0 return path(curr + 2, end, k + 1) + path(curr + 4, end, k + 1) + path(curr + 5, end, k + 1) for i in range(0, 1500): if path(31, i, 0) == 1: print(i)

Решения кстати я тоже не нашел.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Исполнитель преобразует число, записанное на экране. У исполнителя есть две команды, которым присвоены номера:
Исполнитель преобразует число, записанное на экране. У исполнителя есть две команды, которым.

Исполнитель преобразует число на экране. У исполнителя есть две команды, которым обо- значены латинскими буквами
1 Построить фрагмент дерева решения 2 Решить задачу вручную (аналитически). 3 Решить задачу с.

У исполнителя Калькулятор три команды, которым присвоены номера:
У исполнителя Калькулятор три команды, которым присвоены номера: 1. Прибавь 1 2. Прибавь 2 3.

исполнитель калькулятор преобразует число на экране
1. прибавь 1 2. умножь на 2 3. умножь на 3. Сколько существует программ, для которых при.

2429 / 1471 / 633
Регистрация: 01.11.2021
Сообщений: 2,269

Как я понял, условие не за 1001 операцию получить число, а за 1001 программу.
Т.е. напрмиер из 31 чтобы получить 41.
31 + 2 + 2 + 2 + 2 + 2
31 + 2 + 2 + 2 + 4
31 + 2 + 4 + 4
31 + 5 + 5

Регистрация: 21.12.2022
Сообщений: 3

Да, так и есть, я просто не понимаю как решить эту задачу.
У меня вроде бы нету ничего связанного с 1001 операциями?
(если про range(0, 1500) это просто перебор чисел чтобы найти подходящее способом «вдруг получится» или что то такое)

Status 418

Эксперт Python

4578 / 2345 / 602
Регистрация: 26.11.2017
Сообщений: 5,265
Записей в блоге: 3

Лучший ответ

Сообщение было отмечено cheevo как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12
def path(curr, end): if curr > end: return 0 if curr == end: return 1 return path(curr + 2, end) + path(curr + 4, end) + path(curr + 5, end) for i in range(32, 1500): if path(31, i) == 1001: print(i) break

Регистрация: 21.12.2022
Сообщений: 3
Спасибо огромное.
Status 418

Эксперт Python

4578 / 2345 / 602
Регистрация: 26.11.2017
Сообщений: 5,265
Записей в блоге: 3
Alexarh, 9 программ.

1 2 3 4 5 6 7 8 9 10
def path(curr, end, prog=''): if curr > end: return 0 if curr == end: print(f'') return 1 return path(curr + 2, end, prog + '+2') + path(curr + 4, end, prog + '+4') + path(curr + 5, end, prog + '+5') print(path(31, 41))
1 2 3 4 5 6 7 8 9 10
41+2+2+2+2+2 41+2+2+2+4 41+2+2+4+2 41+2+4+2+2 41+2+4+4 41+4+2+2+2 41+4+2+4 41+4+4+2 41+5+5 9

2429 / 1471 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
eaa, да, я уже потом понял, что перестановки надо учитывать в задаче.
Status 418

Эксперт Python

4578 / 2345 / 602
Регистрация: 26.11.2017
Сообщений: 5,265
Записей в блоге: 3
лучше конечно решать это через динамическое программирование. тут повезло что числа маленькие.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

№ 5926 (Д. Статный) Исполнитель Калькулятор преобразует число, записанное на экране
№ 5926 (Уровень: Средний) (Д. Статный) Исполнитель Калькулятор преобразует число, записанное на.

Исполнитель преобразует число на экране
Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены.

Исполнитель преобразует число, записанное на экране
(№ 5544) (М. Шагитов) Исполнитель преобразует число, записанное на экране. У исполнителя есть три.

Исполнитель РазДваТри преобразует число на экране
Исполнитель РазДваТри преобразует число на экране. У исполнителя есть две команды, которым.

Исполнитель преобразует число, записанное на экране
Исполнитель преобразует число, записанное на экране. У исполнителя есть три команды, которым.

Исполнитель Фибо преобразует число на экране (Рекурсия)
Исполнитель Фибо преобразует число на экране. У исполнителя есть две команды, которым присвоены.

Или воспользуйтесь поиском по форуму:

informatikstr.ru

У исполнителя Калькулятор две команды, которым присвоены номера:
1. прибавь 1
2. умножь на 2
Сколько есть программ, которые число 1 преобразуют в число 16?

 print('informatikstr.ru') a = [0] * 17 a[1] = 1 for i in range(2,17): a[i] = a[i] + a[i-1] if i % 2 == 0: a[i] = a[i] + a[i // 2] print(a) 

Ответ: 36

У исполнителя Калькулятор три команды, которым присвоены номера:
1. прибавь 1
2. умножь на 3
3. умножь на 4
Сколько есть программ, которые число 1 преобразуют в число 25?

 print('informatikstr.ru') def F(x, y): if x == y: return 1 if x > y: return 0 if x < y: return F(x + 1, y) + F(x * 3, y) + F(x * 4, y) print (F(1, 25)) 

Ответ: 38

Исполнитель Июнь15 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Июнь15 – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 34 и при этом траектория вычислений содержит число 12?

 print('informatikstr.ru') def F(x, y): if x == y: return 1 if x > y: return 0 if x < y: return F(x + 1, y) + F(x * 2, y) print (F(2, 12) * F(12, 34)) 

Ответ: 70

Исполнитель Июнь15 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Июнь15 – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 34 и при этом траектория вычислений содержит число 10 и не содержит число 28?

 print('informatikstr.ru') def F(x, y): if x == y: return 1 if x > y or x == 28: return 0 if x < y: return F(x + 1, y) + F(x * 2, y) print (F(2, 10) * F(10, 34)) 

Ответ: 21

Исполнитель Простачок преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 2
2. Прибавить предыдущее
3. Прибавить следующее
Первая команда увеличивает число на 2, вторая – на предыдущее (например, число 5 будет преобразовано по правилу 5 + 4), третья – на следующее (аналогично, 5 по правилу 5 + 6 = 11). Сколько существует таких программ, которые исходное число 7 преобразуют в число 63, и при этом траектория вычислений не содержит число 43?

 print('informatikstr.ru') def F(x, y): if x == y: return 1 if x > y or x == 43: return 0 if x < y: return F(x + 2, y) + F(x + (x + 1), y) + F(x + (x - 1), y) print (F(7, 63)) 

Ответ: 116

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *