На платье больше рубашки, но меньше халата.
<u>Отсюда: На рубашку меньше, чем на халат.</u>
Program a18;
var
a,max,min,kol:integer;
begin
readln(a);
max:=a;
min:=a;
kol:=0;
while(a<>0) do begin
if(a>max) then max:=a;
if(a<min) then min:=a;
if(a>120) then inc(kol);
readln(a);
end;
writeln(max-min);
writeln(kol);
end.
Я начиная от конца текста рассуждал.
Браун-альта,кларнет
Смит-флейта,гобой
Вессон-труба,скрипка
<h3>Алгоритм решения</h3>
Для каждого числа будем убирать последнюю цифру, пока число не станет нулём. При этом для очередной последней цифры ответ умножаем на 10 и прибавляем к нему эту цифру.
Для одного числа алгоритм будет выглядеть так:
while x > 0:
ans = ans * 10 + (x mod 10)
x = x // 10
Где <em>x </em>- заданное число, <em>ans </em>- ответ на задачу (перевёрнутое число), <em>mod </em>- операция получения остатка, <em>// </em>- операция целочисленного деления.
Формально, <em>x mod 10 </em>возвращает последнюю цифру числа <em>x </em>("остаток от деления x на 10"), а <em>x // 10 возвращает число </em>x <em>без последней цифры ("разделить x на 10 и отбросить остаток").</em>
<h3>Решение (Pascal)</h3>
var
x, i, ans: integer;
begin
for i := 1 to 5 do
begin
read(x);
ans := 0;
while (x > 0) do
begin
ans := ans * 10 + (x mod 10);
x := x div 10;
end;
write(ans, ' ');
end;
writeln;
end.
----------------------------
Файл решения прикреплён.
.....................................