krikatiy
?>

Для настольной игры используются карточки с номерами от 1 до n. одна карточка потерялась. найдите ее, зная номера оставшихся карточек. входные данные дано число n, далее n-1 номер оставшихся карточек (различные числа от 1 до n выходные данные программа должна вывести номер потерянной карточки.

Информатика

Ответы

denisovatat7
Var n,i,k,s1,s2:integer;
begin
write('n='); readln(n);
s1:=n; s2:=0;
for i:=1 to n-1 do
 begin
 write('k',i,'='); readln(k);
 s1:=s1+i; s2:=s2+k;
 end;
writeln('Потерялась карточка ',s1-s2);
end.

Пример:
n=5
k1=1
k2=3
k3=4
k4=5
Потерялась карточка 2
sdy19576216
ответ: 359.

Решение. 
Начнём с простого наблюдения.

Лемма. Если на каком-то шаге все куски одинаковой массы 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 г сыра.
nelli-bi6
ответ: 359.

Решение. 
Начнём с простого наблюдения.

Лемма. Если на каком-то шаге все куски одинаковой массы 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 г сыра.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Для настольной игры используются карточки с номерами от 1 до n. одна карточка потерялась. найдите ее, зная номера оставшихся карточек. входные данные дано число n, далее n-1 номер оставшихся карточек (различные числа от 1 до n выходные данные программа должна вывести номер потерянной карточки.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Leon-12
kseniyavaganova
Aleksandrovich-Mayatskikh
Lenok33lenok89
ПетровичЖивотовская1245
yuip2008
Mariya Filippov
Владимирович_Ралина
mgrunova
Shurshilina850
xeniagolovitinskaya4546
olesyadeinega41
forosrozhkov
Donleksa2016
iordanekaterina