СПРОСИ ПРОФИ
👍
0
👎 01

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

У исполнителя есть три команды, которым присвоены номера:
1. Прибавь 2
2. Умножь на 2
3. Возведи в квадрат
Первая команда увеличивает число на экране на 2, вторая – умножает на 2, третья команда возводит число в квадрат. Программа для исполнителя – это последовательность команд, каждая из которых увеличивает число. Сколько существует различных программ с нечётным числом команд, которые преобразуют исходное число 1 в число 100?
Нужно на питоне. Саму рекурсию я написал, но не понимаю условие 'Сколько существует программ с нечётным числом команд', что я делаю не так? *Доп вопросы: 1)Можете объяснить как можно вывести промежуточные значения функции в питоне, например переменных start, stop, p, чтобы контролировать промежуточные действия функции. 2)Почему не работает рекурсия при вызове значений alg(1, 100, 0)?

ЕГЭ по информатике информатика обучение     #1   18 янв 2024 15:45   Увидели: 85 клиентов, 1 специалист   Ответить
👍
0
👎 0

Что в условии непонятно? Подставляем одну фразу в другую и делаем вывод, что:

  • команды кодируются цифрами;
  • программа кодируется последовательностью цифр;
  • требуется подсчитать, сколько различных последовательностей (с учётом всех заданных ограничений) дадут необходимый результат.

Выводите любую информацию на консоль тем же print() – изнутри любой функции работает так же хорошо.
И почему думаете, что рекурсия не получается? Рекурсивное обращение к функции исполняется.
«Не так» – проигнорировали часть условия.

Задайте свой вопрос по информатике
профессионалам

Сейчас онлайн 75 репетиторов по информатике
Получите ответ профи быстро и бесплатно

Другие вопросы на эту тему:

👍
0
👎 03

Задание 24   3 ответа

Текстовый файл содержит только заглавные буквы латинского алфавита
(ABC…Z). Определите максимальное количество идущих подряд символов,
среди которых каждая из букв A и B встречается не более двух раз.

f = open('24.txt')
s = f.readline().strip()
mx = 0
a = s.split('A')
for i in range(len(a)-2):
if a[i].count('B') + a[i+1].count('B') + a[i+2].count('B') ⇐ 2:
mx = max(mx,len(a[i]+a[i+1]+a[i+2])+2)
print(mx)
что можно сделать?

  15 янв 2024 18:33  
👍
0
👎 01

№5 ЕГЭ по информатике   1 ответ

Помогите, пожалуйста решить задачу. У меня выводит ошибку при переведении числа в int. При решении не используйте рекурсию и def()
(в файле моё решение)

Автомат обрабатывает десятичное натуральное число N по следующему алгоритму:
1) Строится двоичная запись числа N.
2) К полученному числу справа дописывается 0, если в числе единиц больше, чем нулей; иначе дописывается 1.
3) Из середины двоичного числа убирается 2 разряда,…

  30 мар 2023 18:32  
👍
+3
👎 36

Подготовка к ЕГЭ   6 ответов

Уважаемые репетиторы! Собираемся поступать в технический ВУЗ. Сын перешел в 11 класс, сдавать ЕГЭ через год. Сейчас пробуем различные демо версии ЕГЭ.
По профильной математике выходит 92-97 баллов, по информатике значительно хуже — 55-70. По информатике планируем брать репетитора, а вот по математике даже не знаю, как поступить.
Отсюда вопросы к Вам, как профессионалам своего дела:
1. Насколько демо версии ЕГЭ показывают реальный уровень…

👍
0
👎 09

Информатика ЕГЭ   9 ответов

Всем здравствуйте. Меня интересует такой вопрос как задание ЕГЭ в Информатике части С, а именно С3.
Не могу сообразить как делать с тремя командами, если условие с двумя, вроде делается легко (научился),а вот с тремя никак не выходит. Не могли бы вы мне объяснить как правильно нужно выполнять это задание — У исполнителя "Калькуятор" три команды: +1, +2, *3. Сколько способов существует, чтобы из числа 1 получить число 12. Или дайте ресурс, где подробно описывается система решения таких задач.
Заранее больше спасибо!
ASK.PROFI.RU © 2020-2024