Форум » Обработка целых чисел » № 31 задание 17 » Ответить

№ 31 задание 17

Светлана Митрофанова: Рассматривается множество целых чисел, принадлежащих числовому отрезку [1000; 9999], запись которых в пятеричной системе имеет не менее 6 цифр и заканчивается на 21 или 23. Найдите количество таких чисел и минимальное из них. Не пойму, где ошибка. var i,min,count:integer; begin min:=10000; count:=0; for i:=9999 downto 1000 do begin if ((i mod 25=11) or (i mod 25=13)) then begin count:=count+1; min:=i; end; end; write(count,' ',min) end.

Ответов - 5

Михаил Титаренко: Не совсем понял ваш метод решения. Вот решение, по которому выходит верный ответ: [pre2] var i,min,count,n,c:integer; begin min:=10000; count:=0; for i:=1000 to 9999 do begin if ((i div 5 mod 5=2) and ((i mod 5 = 1) or (i mod 5 = 3))) then begin c:=0; n:=i; while n>=1 do begin c:=c+1; n:=n div 5; end; if c>=6 then begin count:=count+1; if min>i then min:=i; end; end; end; writeln(count,' ',min); end. [/pre2]

Поляков: Светлана Митрофанова пишет: for i:=9999 downto 1000 do begin Как вы учитываете количество цифр в пятеричной системе (не менее 6)?

Сергей Серов: У Вас не учитывается количество цифр в пятеричной системе. Если добавить фрагмент, который это учитывает, то ответ получается. <pre2> var i,min,count,i1,k:integer; begin min:=10000; count:=0; for i:=9999 downto 1000 do begin i1:=i;k:=0; while (i1>0) do begin k:=k+1; i1:=i1 div 5; end; if ((i mod 25=11) or (i mod 25=13)) and (k>=6) then begin count:=count+1; min:=i; end; end; write(count,' ',min) end. </pre2>


elen_sewer: Почему в программе проверяется делимость на 11 и 23, если в задаче идет речь о числах 21 и 23?

Поляков: elen_sewer пишет: в программе проверяется делимость на 11 и 13, если в задаче идет речь о числах 21 и 23? 21 и 23 в пятеричной - это 11 и 13 в десятичной.



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