Создайте программу в Pygame, как мальчик танцует казахский танец.
• Пояснение к задаче: при разработке программы необходимо взять за основу команды движения автомобиля (код 1) в рассмотренном проекте. Эти команды должны повториться по одному разу для каждого из 4 состояний движения. Чтобы повторить движение несколько раз, набор команд, которые выполняют перемещение, должен быть помещен в цикл for.
var c:char;
begin clrscr;
write('Введите символ ');
readln(c);
case c of '0'..'9':write('Это десятичная цифра, ее код ',ord(c)); 'A'..'Z':write('Это прописная латинская буква, ее код ',ord(c)); 'a'..'z':write('Это строчная латинская буква, ее код ',ord(c));
'+','-','*':write('Это знак арифметического действия, его код ',ord(c)); //убрал знак /, он в спец. символах ';','<','=','>','?','[',']','{','}','\','/':write('Это служебный символ, его код ',ord(c)); else write('Символ не входит в указанный список') end; readln end.
Решение.
Начнём с простого наблюдения.
Лемма. Если на каком-то шаге все куски одинаковой массы m, то можно путём указанных операций сделать так, чтобы все куски стали массой m/2.
Доказательство. На первом шаге съедаем кусок массы m и разрезаем другой кусок массы m. Получится 8 кусков массы m и 2 куска массы m/2. Теперь 8 раз съедаем куски m/2 и распиливаем куски массы m.
Перейдём к собственно решению. Понятно, что Саша не мог съесть весь сыр. Поэтому, поскольку он съел целое число граммов сыра, он мог съесть не более, чем 360 - 1 = 359 граммов. Покажем, как он это мог сделать.
Пусть изначально головка сыра была разрезана так: 5 кусков по 512/9 г, 2 куска по 256/9 г, 1 кусок 128/9 г, 1 кусок 32/9 г, 1 кусок 8/9 г (легко проверить, что сумма всех масс равна 360).
Сначала съедим куски массой 8/9, 32/9, 128/9 и распилим три куска по 512/9 г. Останется 2 куска по 512/9 и 8 кусков по 256/9. Затем дважды съедим куски по 256/9 и разрежем оставшиеся куски по 512/9. После этого будет 10 кусков по 256/9.
Уменьшим размер каждого куска в 256 раз (воспользуемся 8 раз процессом, описанным в лемме). Тогда останутся 10 кусков массой 1/9 г. Съедаем один кусок и распиливаем любой оставшийся кусок. Несъеденная масса 9 * 1/9 = 1 г, значил, съел Саша 360 - 1 = 359 г сыра.