Разделим монеты на 3 кучки по 9 монет. Положим на чаши весов первую и вторую кучки; по результату этого взвешивания мы точно узнаем, в какой из кучек находится фальшивка (если весы покажут равенство, то она - в третьей кучке). Теперь, аналогично, разделим выбранную кучку на три части по три монеты, положим на весы две из этих частей и определим, в какой из частей находится фальшивая монета. Наконец, остается из трех монет определить более тяжелую: кладем на чаши весов по 1 монете - фальшивкой является более тяжелая; если же на весах равенство, то фальшивой является третья монета из части.
с алгоритмом сложнее)))
Поделитесь своими знаниями, ответьте на вопрос:
даны катеты в двух прямоугольных треугольниках – a1, b1 и a2, b2. определить, площадь какого треугольника больше и на сколько. если площади равны, вывести фразу – «треугольники равновелики». (проверка: 5, 6 и 2, 15. ответ: треугольники равновелики. ещё проверка: 7, 5 и 6, 9. ответ: площадь второго треугольника больше на 19 2) 2. на автобусном билете есть номер, состоящий из шестизначного числа. напишите программу, которая будет проверять счастливый ли билет? билет считается счастливым, если сумма первых трёх цифр равна сумме трёх последних цифр. (проверка: 365478. ответ: билет не счастливый. ещё проверка: 385493. ответ: билет счастливый).
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.