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

задание 17

kattystoreson: Рассматривается множество целых чисел, принадлежащих числовому отрезку [1871; 9197], которые удовлетворяют следующим условиям: − количество цифр в шестнадцатеричной и десятичной записях числа не совпадает; − остаток от деления на 9 равен 2 или 4. Найдите количество таких чисел и минимальное из них. Моя программа: var n, k, min, m,d,b, l:integer; begin k:=0; min:=9198; for n:=1871 to 9197 do begin m:=0; d:=n; while d > 0 do begin m:=m+1; d:=d div 16; end; end; begin b:=n; l:=0; while b>0 do begin l:=l+1; b:=b div 10; end; end; if (m<>l) and ((n mod 9=2) or (n mod 9=4))then begin if n<min then min:=n; k:=k+1; end; writeln(k,' ' , min); end. выводит 0 и 9198. не могу найти ошибку

Ответов - 1

polyakovss: Неправильно расставлены "begin end". Верно так: var n, k, min, m,d,b, l:integer; begin k:=0; min:=9198; for n:=1871 to 9197 do begin m:=0; d:=n; while d > 0 do begin m:=m+1; d:=d div 16; end; b:=n; l:=0; while b>0 do begin l:=l+1; b:=b div 10; end; if (m<>l) and ((n mod 9=2) or (n mod 9=4))then begin if n<min then min:=n; k:=k+1; end; end; writeln(k,' ' , min); end.



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