Var s:string; i,n:byte; p:boolean; begin Write('Введите строку: '); Readln(s); n:=Length(s); for i:=n downto 1 do if s[i]=' ' then Delete(s,i,1); n:=Length(s); p:=true; for i:=1 to n div 2 do if s[i]<>s[n-i+1] then begin p:=false; break end; if p then Writeln('Палиндром') else Writeln('Не палиндром') end.
6 пакетов на одну чашу, 6 на другую, пакеты, вес которых меньше, делим по 3 шт., снова взвешиваем, берем любые 2 из тех, вес которых меньше, взвешиваем. Если вес одного из них меньше, то это он и есть. Если вес одинаковый, то с меньшим весом пакет, который не на весах.