, решить задачи по информатике: Определить значение t, x и y после выполнения фрагмента программы: t:= 169;
x:= (t mod 15) * 100;
y:= x div 110;
x:= (x*2) div y;
x:= x div 22;
t:= x – 9;
t=4, x=11, y=5
t=3, x=15, y=3
t=3, x=12, y=3
t=5, x=12, y=5
Определить значение b после выполнения фрагмента программы:
a:= 51;
b:= 15;
c:= a mod b;
a:= a + c;
b:= b – c + a
Определить значение B после выполнения фрагмента программы:
a:= 51;
b:= 17;
c:= a div b;
a:= a + c;
b:= b – c;
Определить значение t, x и y после выполнения фрагмента программы:
x:= 4;
y:= 132;
t:= x mod y;
x:= x + t +15;
y:= y div x;
t:= t + y;
t=5, x=3, y= 14
t=8, x=20, y= 11
t=66, x=45, y=66
t=32, x=75, y=2
Вычислите значение выражения: (23 mod 4 ) div (17 mod 4) =
2
0
1
3
Вычислите значение выражения: (7*3 div 2) mod 6 =
1
6
0
4
Вычислите значение выражения: 21 div 9 =
0
2
1
3
Вычислите значение выражения: 0 div 45 =
Выберите выражения, значения которых равны 3:
805 div 105
135 div 42
45 div 15
400 div 101
Выберите выражения, значения которых равны 0:
102 div 150
105 div 105
170 div 15
44 div 50
Вычислите значение выражения: 9 mod 10 =
9
0
10
1
Вычислите значение выражения: 303 mod 120 =
2
120
7
63
Вычислите значение выражения: 150 mod 180 =
1
150
30
0
Вычислите значение выражения: -19 mod (-5) =
-4
5
4
3
Решение.
Начнём с простого наблюдения.
Лемма. Если на каком-то шаге все куски одинаковой массы 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 г сыра.