Янадеюсь вы в 5 классе var i: integer; sum: real; begin sum: =0; for i: =1 to 50 do sum: =sum+1/i; writeln(sum); end.
Kalugin Vyacheslavovna605
16.08.2020
Ответ: 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 г сыра.
nyuraborova89
16.08.2020
#код на ruby 2.2.3p173 count = 0 for i in 0..2**9-1 s = ("000000000"+i.to_s(2))[- vertix = 0 s.chars.each {|c| vertix = (vertix + (c == "1" ? 1 : -1)) % 3 ; # p [c, vertix] } if vertix == 0 p s count += 1 end end p count вывод 170