Если первые две монеты легче двух других, то взвешиваем каждую в отдельности.
Если первые две монеты тяжелее двух других, то взвешиваем две вторые по отдельности.
Если первые две монеты по весу одинаковы со вторыми двумя, то пятая монета фальшивая.
<em>// PascalABC.NET 3.2, сборка 1387 от 20.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(10,1,10000); a.Println;
a:=a.Where(x->not ((x mod 10<>0) and (x mod 10).IsEven
and (x mod (x mod 10)=0))).ToArray;
a.Println
end.
<u>Пример</u>
1266 6274 1359 3481 9554 324 1546 3063 8166 1562
6274 1359 3481 9554 1546 3063
<u>PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
<u>1. Современное решение</u>
begin
var (a,b,c):=ReadReal3;
if (a>b) and (b>c) then else (a,b,c):=(a*a,b*b,c*c);
Println(a,b,c)
end.
<u>Пример</u>
15.8 4.9 13
249.64 24.01 169
<u>2. А так, увы, все еще учат писать во многих школах...</u>
program Toska;
var
a,b,c:real;
begin
Read(a,b,c);
if not ((a>b) and (b>c)) then begin
a:=a*a; b:=b*b; c:=c*c
end;
Writeln(a,' ',b,' ',c)
end.