В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Phoenix511
Phoenix511
10.01.2020 12:57 •  Информатика

Задание 1 У исполнителя Омега две команды, которым присвоены номера:
1. прибавь 3;
2. раздели на b
(b — неизвестное натуральное число; b ≥ 2).
Выполняя первую из них, Омега увеличивает число на экране на 3, а выполняя вторую, делит это число на b. Программа для исполнителя Омега — это последовательность номеров команд. Известно, что программа 11121 переводит число 46 в число 8. Определите значение b.

Задание 2
У исполнителя Альфа две команды. которым присвоены номера:
1. Вычти b;
2. Умножь на 5.
(b — неизвестное натуральное число).
Выполняя первую из них, Альфа уменьшает число на экране на b, а выполняя вторую, умножает это число на 5. Программа для исполнителя Альфа — это последовательность номеров команд. Известно, что программа 21121 переводит число 2 в число 17. Определите значение b.

Показать ответ
Ответ:
Deykun904
Deykun904
17.11.2020 19:38

Вы извините, что здесь пишу, в графе для ответов. Хочу Вам просто и код, и скриншот прикрепить. Попробуйте этот код (комментарии условны, только для понимания). Три числа введите через пробел, в соответствии с логикой конечно же (смотрите комментарии для лучшего понимания):

# k - максимальное количество котлет на сковороде

# m - прожарка котлеты с одной стороны

# n - входное количество котлет

k,m,n = map(int, input().split())

time_am = 0

if (n <= k):

   time_am += 2*m

elif (n > k):

   while (n > k):

       time_am += 2*m

       n -= k

       if (n <= k):

           time_am += 2*m

           break

print(time_am)


Пайтон Я хотел выполнить задание на курсерах Тренировочное задание по программированию: Котлеты*
0,0(0 оценок)
Ответ:
kendebaeva06
kendebaeva06
11.03.2020 19:26

Закраски клеток (команда 5) здесь нет, значит надо просто обеспечить более короткое перемещение в ту же конечную точку.

Для этого посмотрим, что за движения там записаны.

Если во всём алгоритме три раза вверх и три раза вниз- то робот вернётся в ту же точку (по вертикали), и значит все эти команды можно просто удалить.

То же самое- для движений влево и вправо. Они тоже взаимно противоположные.

Другими словами- надо просто сократить все пары движений влево-вправо и вверх-вниз. Всё что останется- это и есть короткий вариант алгоритма, который даст перемещение ту же самую конечную точку.

Запишу подробнее, как сократить алгоритм движения (только для случая без закраски):

а) берём наш алгоритм: 131413324223

б) во всём алгоритме считаем количество команд перемещения для каждого из направлений движения:

1 (вверх)-    3 штуки

2 (вниз)-     3 штуки

3 (влево)-   4 штуки

4 (вправо)- 2 штуки

в) считаем разность количества команд влево и вправо (из большего числа вычитаем меньшее):  4 - 2 = 2

Осталось две команды - влево (т.к. их было больше). Остальные команды влево-вправо сократились (мы их удалили из алгоритма).

г) считаем разность количества команд вверх и вниз (из большего числа вычитаем меньшее, но тут числа равны):  3 - 3 = 0

Не осталось ни одной команды вверх или вниз. Все эти команды сократились (мы их удалили из алгоритма).

д) получаем, что в коротком варианте алгоритма останутся только две команды влево (3).

Запишем весь алгоритм:   33

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота