Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/55: Рейтинг темы: голосов - 55, средняя оценка - 4.93
1 / 1 / 0
Регистрация: 17.01.2023
Сообщений: 43

Исполнитель преобразует число, записанное на экране

24.01.2023, 20:37. Показов 13179. Ответов 2

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

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

Первая команда умножает число на экране на 5, вторая – умножает на 3, третья – увеличивает на 45. Сколько существует различных программ, которые преобразуют исходное число 1 в число 2970, и при этом траектория вычислений не более 4 команд «умножь на 5», не менее 2 команд «умножь на 3», и ровно 5 команд «прибавь 45»?

Python
1
2
3
4
5
6
7
8
9
def f(x1, x2, s1 = 0, s2 = 0, s3 = 0):
    if (x1 > x2) or (s1 > 4) or (s2 < 2) or (s3 != 5):
        return 0
    if x1 == x2:
        return 1
    if x1 < x2:
        return f(x1 * 5, x2, s1 + 1, s2, s3) + f(x1 * 3, x2, s1, s2 + 1, s3) + f(x1 + 45, x2, s1, s2, s3 + 1)
 
print(f(x1 = 1, x2 = 2970))

Не понимаю, что я делаю не так. Объясните пожалуйста! За ранее спасибо)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.01.2023, 20:37
Ответы с готовыми решениями:

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

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

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

2
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
24.01.2023, 22:05
Лучший ответ Сообщение было отмечено Ternylli как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
def f(x, y, m5=0, m3=0, a45=0):
    if x > y or m5 > 4 or a45 > 5: # if x > y: можно и так оставить, будет чуть дольше выполняться
        return 0
    elif x == y and m5 <= 4 and m3 >= 2 and a45 == 5: # но тут проверка на все условия обязательна
        return 1
    else:
        return f(x * 5, y, m5 + 1, m3, a45) + f(x * 3, y, m5, m3 + 1, a45) + f(x + 45, y, m5, m3, a45 + 1)
 
 
print(f(1, 2970))
Добавлено через 7 минут
Python
1
if (x1 > x2) or (s1 > 4) or (s2 < 2) or (s3 != 5):
Может где еще есть, но тут наверно основная ошибка.
s3 == 0 на старте, s3 != 5 (True), поэтому сразу 0 получаем.

Добавлено через 1 минуту
Ну и тут:
Python
1
if x1 == x2:
кроме этого должны остальные условия совпадать.
1
1 / 1 / 0
Регистрация: 17.01.2023
Сообщений: 43
25.01.2023, 18:31  [ТС]
Спасибо вам большое за готовый код и за подробное объяснение. Все понял, еще раз Спасибо!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.01.2023, 18:31
Помогаю со студенческими работами здесь

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

Исполнитель Редактор получает на вход строку цифр и преобразует её
НУЖЕН КОД Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих...

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

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

Исполнитель Калькулятор преобразует число на экране. У исполнителя есть три команды, которым присвоены номера
(А.Н. Носкин) Исполнитель Калькулятор преобразует число на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru