var s:real; flag,d,m:integer; begin s:=10; d:=1; while s<=100 do begin writeln('d: ',d,' s: ',s); {эта строка не обязательна, выводит на экран ежедневный пробег, как бы для контроля} s:=s+s*0.1; d:=d+1; if s<20 then flag:=d; end; writeln('> 20 km :', flag+1,' day'); writeln('>100 km : ',d); end.
Для решения примера вспоминаем, что при переходе от шестнадцатиричной системы счисления к двоичной достаточно заменить каждую шестнадцатиричную цифру четырьмя двоичными (тетрадой). Предлагаемое в условии число представляет собой десятичную дробь, т.е. имеет целую и дробную части. Для целой части незначащими будут левые нули и мы будем искать их в первой тетраде. Для дробной части незначащие нули - последние и мы будем их искать в последней тетраде. Первая тетрада - представление 1(16)=0001(2). Левые три нуля незначащие и их удаляем, остается 1. Последняя тетрада - представление Е(16)=1110(2). Тут один незначащий ноль - правый, остается 111.. Остальные тетрады переписываем без изменения. 12АС,6Е(16)=1 0010 1010 1100 , 0110 111 (2) Считаем количество нулей в записи: 9. Это и есть ответ.
14
Объяснение:
Шаг 1. y=?
Шаг 2. y=2
Шаг 3. y=5
Шаг 4. y=5
Шаг 5. y=9
Шаг 6. y=9
Шаг 7. y=14