М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
daniilkeidi
daniilkeidi
30.04.2022 17:29 •  Информатика

Составьте алгоритм для кузнечика, в результате выполнения которого исполнитель будет находиться в точке с координатой 29.сколько различных алгоритмов можно написать для решения ? ответ объясните.

👇
Ответ:
verachistova1
verachistova1
30.04.2022
Алгоритмов для решения существует большое количество, так как от перестановки слагаемых сумма не меняется. Главное, соблюдать определённое количество "шагов" кузнечика, а в данном случае это:
3 команды "вправо 5" и 2 команды "вправо 7". (5*3+7*2=29)
4,8(80 оценок)
Открыть все ответы
Ответ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4,7(31 оценок)
Ответ:
Pro100iraa
Pro100iraa
30.04.2022

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

# 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)


Пайтон Я хотел выполнить задание на курсерах Тренировочное задание по программированию: Котлеты*
4,5(85 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ