Форум » Обработка целых чисел » егэ17-68 » Ответить

егэ17-68

timsc1: 68) (А.Г. Минак) Рассматривается множество целых чисел, принадлежащих числовому отрезку [2079; 43167], которые делятся на 7 и обязательно имеют в своей записи цифры 0, 2 и 5. Найдите количество таких чисел и минимальное из них. В ответе запишите два целых числа: сначала количество, затем минимальное число. Программа: var i,k,n,c,x,min:integer; begin k:=0; for i:= 43167 downto 2079 do begin if (i mod 7 =0) then begin x:=i; c:=0; while x>0 do begin if (x mod 10 =0)then c+=1; if (x mod 10 =2)then c+=1; if(x mod 10 =5) then c+=1; x:=x div 10; end; if (c>=3) then begin k+=1; min:=i; end; end; end; println(k,min); end. В чём ошибка???

Ответов - 2

polyakovss: Здравствуйте, Павел Ефимович! Исправление ошибки: c1:=0; c2:=0; c3:=0; while x>0 do begin if (x mod 10 = 0) then c1+=1; if (x mod 10 = 2) then c2+=1; if (x mod 10 = 5) then c3+=1; x:=x div 10; end; if (c1>0) and (c2>0) and (c3>0) then begin или так: if (i mod 7 =0) then begin x:=i.ToString; if ('0' in x) and ('2' in x) and ('5' in x) then begin k+=1;

timsc1: polyakovss , Спасибо огромное! Второй вариант интересный... ☺



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