//PascalABC.NET
//Версия 3.3, сборка 1611
begin
write(ReadSeqIntegerWhile(x->x<>0).Where(x->x.IsEven).Count());
end.
Var
s : String;
i : Integer;
begin
Writeln('Введите строку:');
Readln(s);
<span> i:= 0;
</span><span>
while pos(')', s) <> 0 do
</span> begin
<span> i := i + pos(')', s) - pos('(', s) + 1;
</span><span> delete(s, pos('(', s), pos(')', s) - pos('(', s) + 1);
</span> end;
<span>
Writeln(s);
</span> Writeln(i);<span>
Readln;
</span><span>end.
2)
var
s : String;
</span> <span>i, e : Integer;
</span> <span>flag : Boolean;
begin
Writeln('Введите строку:');
Readln(s);
<span>
</span></span> <span>e := 0;
</span> <span>flag := False;
for i := 1 to Length(s) do
</span> <span>begin
</span> <span>if (s[i] = UpCase(s[i])) and ((s[i - 1] = ' ') or ( i = 1 )) then flag := True;
</span> <span>if flag then Write(s[i]);
</span> <span>if (( s[i] = ' ' ) or ( i = Length(s))) and flag then
</span> <span>begin
</span> <span>flag := False;
</span> <span>inc(e);
</span> <span> Writeln;
</span> <span>end;<span>
</span></span> <span>end;
<span> Writeln(e);
</span><span> Readln;
</span>end.</span>
Элементарно!
1) Разбиваем 27 монет на 3 кучки по 9 монет. Сравниваем 2 кучки.
Какая легче - в той и фальшивая монета. Если они равны, то фальшивая в третьей кучке, которую не взвешивали.
Получилась кучка из 9 монет, одна фальшивая. Осталось 2 взвешивания.
2) Точно также разбиваем 9 монет на 3 по 3 монеты и сравниваем две.
Какая легче - в той и фальшивая монета. Если они равны, то фальшивая в третьей кучке, которую не взвешивали.
Получилась кучка из 3 монет, одна фальшивая. Осталось 1 взвешивание.
3) Сравниваем 2 монеты. Какая легче - та и фальшивая.
Если они равны, то фальшивая третья, которую не взвешивали.
Это значит 3 человека.Тоесть есть отец(он один папа)у него есть сын а у его сына есть ещё сын.Значит его дедушка.