<span>Пронумеруем для наглядности: </span>
<span>1, 2, 3, 4 </span>
<span>Итак: </span>
<span>1) Сравниваем первую пару, например 1 и 2 </span>
<span>2) Сравниваем вторую пару — 3 и 4 </span>
<span>3) Сравниваем победителей первых двух пунктов между собой. Победитель будет самым тяжёлым </span>
<span>4) Сравниваем проигравших первых двух пунктов между собой. Проигравший будет самым лёгким </span>
<span>5) Теперь сравниваем те 2 арбуза, которые остались посерединке.</span>
Чтобы число 145 возвести в двоичную систему, нужно его делить на 2, пока не останется единица, поэтому 145 = 10010001, значит, количество единиц в двоичной записи числа 145 - 3.
Ответ: 3 единицы.
// PascalABC.NET 3.3, сборка 1576 от 16.11.2017
// Внимание! Если программа не работает, обновите версию!
begin
var (a, b):= ReadReal2('a, b=');
if (b <> 0)then Writeln('D = ', a/b)
else Writeln('No Solution Exist');
end.
Трудно сказать не видя структуры твоего калькулятора. Если у тебя два поля для ввода чисел (edit1 и edit2), а результат записываешь в Memo1 (кстати, а зачем именно тип Memo?), то можно сделать следующим образом (пример для кнопок "+" и "-")
procedure TForm1.PlusClick(Sender: TObject);
var x,y:real;
r:string;
begin
val(edit1.Text,x);
val(edit2.Text,y);
str(x+y,r);
Memo1.Lines[0]:=edit1.Text+'+'+edit2.Text+'='+r;
end;
procedure TForm1.MinusClick(Sender: TObject);
var x,y:real;
r:string;
begin
val(edit1.Text,x);
val(edit2.Text,y);
str(x-y,r);
Memo1.Lines[0]:=edit1.Text+'-'+edit2.Text+'='+r;
end;
Сделай цикл while пока денег не будет меньше цены товара