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

25

Кэйт: Среди целых чисел, принадлежащих числовому отрезку [125697;190234], найдите числа, которые представляют собой произведение двух различных простых делителей. Запишите в ответе количество таких чисел и максимальное их них. [pre2] var z,y,s,t,m,x,i,k,j:longint; a: array [1..2] of integer; function f(n:integer):integer; var p:integer; begin f:=0; for p:= 2 to x div 2 do begin if x mod p=0 then begin f:=1; break; end; end; end; begin t:=0; for i:=1 to 10 do begin k:=0; for j:=2 to round(sqrt(i)) do begin if (i mod j =0) and (f(j)=0) and (j<>(i div j)) and (f(i div j)=0) then begin k:=k+1; if k>1 then break; s:=j; y:=i div j; m:=i; end; end;; if (k=1) and (s*y=m) then begin t:=t+1; writeln (t, ' ',m); end; end; end.[/pre2]Подскажите, где ошибка, беру маленькие числа, почему то выводит 8

Ответов - 1

Поляков: Кэйт пишет: Подскажите, где ошибка, беру маленькие числа, почему то выводит 8 Видимо, неверно работает функция f, вы ее не отладили. Начните с этого и найдете ошибку.



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