Разделим монеты на 3 кучки по 9 монет. Положим на чаши весов первую и вторую кучки; по результату этого взвешивания мы точно узнаем, в какой из кучек находится фальшивка (если весы покажут равенство, то она - в третьей кучке). Теперь, аналогично, разделим выбранную кучку на три части по три монеты, положим на весы две из этих частей и определим, в какой из частей находится фальшивая монета. Наконец, остается из трех монет определить более тяжелую: кладем на чаши весов по 1 монете - фальшивкой является более тяжелая; если же на весах равенство, то фальшивой является третья монета из части.
с алгоритмом сложнее)))
var a,b,a1,b1:real;
var s,s1:real;
begin
WriteLn('Введите все катеты через пробел:');
Read(a,b,a1,b1);
s:=a/2*b;
s1:=a1/2*b1;
WriteLn(s);
WriteLn(s1);
if s = s1 then
WriteLn('Треугольники равновелики')
else if s>s1 then
WriteLn('Площадь первого треугольника больше на '+(s-s1))
else
WriteLn('Площадь второго треугольника больше на '+(s1-s));
end.
2)
var a,b:Integer;
var arr:array of char;
begin
arr:=ReadString().ToCharArray();
for var i:= 1 to 6 do
if(i<4) then
a+= strtoint(arr[i-1])
else
b+= strtoint(arr[i-1]);
if a=b then
WriteLn('Билет счастливый')
else
WriteLn('Билет не счастливый');
end.