Program noname; var a,b,c,d:integer; begin readln(a); b:=1; d:=0; while(b<>a) do begin readln(c); if (c mod 2)=1 then d:=d+c; b:=b+1; end; writeln(d); end.
Складываем число людей, знающих английский, немецкий, французский: 6 + 6 + 7 = 19. Однако в это число дважды вошли люди, знающие (только) два языка и трижды - три языка. Вычитаем людей, знающих (хотя бы) два языка: 19 - (4 + 3 + 2) = 10. Т.к. в каждое из трех вычтенных множеств включено множество людей, получается, мы вычли его три раза, и 10 - количество людей, знающих меньше трех языков. Еще раз прибавляем людей, знающих три языка: 10 + 1 = 11 человек в комнате всего. В итоге получилось: 1 человек знает только английский 3 человека знают только французский 0 человек - только немецкий 3 - только английский и немецкий 2 - только немецкий и французский 1 - только английский и французский 1 - все три языка Задача очень легко решается, если изобразить ее на диаграмме, даже без всех этих рассуждений про множества
var a,b,c,d:integer;
begin
readln(a);
b:=1;
d:=0;
while(b<>a) do begin
readln(c);
if (c mod 2)=1 then d:=d+c;
b:=b+1;
end;
writeln(d);
end.