Const n=15;
var a,b,c:array[0..n] of integer;
s_a,s_b:string;
i:integer;
Begin
readln(s_a);
readln(s_b);
while length(s_a)<n do s_a:='0'+s_a;
while length(s_b)<n do s_b:='0'+s_b;
for i := n downto 1 do begin
a[i]:=strtoint(s_a[i]);
b[i]:=strtoint(s_b[i]);
c[i]:=c[i]+a[i] + b[i];
c[i-1]:=c[i] div 10;
c[i]:=c[i] mod 10;
end;
writeln;
for i:= 0 to n do write(a[i]);
writeln;
for i:= 0 to n do write(b[i]);
writeln;
for i:= 0 to n do write(c[i]);
End.
Чадо-чайка-чаровница-чародейка-часик-часок–другой
Для решения этой задачи будут необходимы весы с двумя чашами.
Раскладываем 9 монет на 3 стопки по 3 монеты и начинаем взвешивание.
Алгоритм определения фальшивой монеты состоит из 2 шагов:
1. Взвешиваем любые 2 стопки по 3 монеты. Если весы в равновесии - то фальшивая монета в оставшейся стопке, если какая-то чаша перевешивает, значит фальшивая монета в той стопке, которая легче.
2. Из стопки из 3 монет, в той которая находится фальшивая, берем любые 2 и взвешиваем. Если весы в равновесии - фальшивая та, которая осталась, если одна из чаш перевешивает, значит фальшивая та, которая легче.