Форум » Выполнение и анализ алгоритмов для исполнителей » 5 задание № 1752 » Ответить

5 задание № 1752

areyoutoxic: Автомат обрабатывает натуральное число N < 256 по следующему алгоритму: 1) Строится восьмибитная двоичная запись числа N-1. 2) Инвертируются все разряды исходного числа, кроме последней единицы и стоящих за ней нулей (0 заменяется на 1, 1 на 0). 3) Полученное число переводится в десятичную систему счисления. Для какого значения N результат работы алгоритма равен 18? Ответ на сайте 238, но если следовать условию, то "Строится восьмибитная двоичная запись числа N-1" и тогда при проверке результат работы равен 17, Прорешал и программой и ручками - выходит 239 [pre2]uses school; var n,i,i1,c:integer; r,s:string; begin for n:=1 to 255 do begin r:=bin(n-1); s:=''; if length(r)<8 then begin s:='0'*(8-length(r))+r; r:=s; end; c:=0; for i:=8 downto 1 do begin if (r[ i ]='1') and (c>0) then r[ i ]:='0' else if (r[ i ]='1') and (c=0) then c+=1 else if (r[ i ]='0') and (c>0) then r[ i ]:='1'; end; if dec(r,2)=18 then writeln(n); end; end. [/pre2]

Ответов - 1

Поляков: Спасибо за замечание. Там опечатка в условии. Должны инвертироваться ВСЕ двоичные разряды. Условие исправлено.



полная версия страницы