Анна Кириенко
Анна Кириенко

найдите ошибку pascal

программа должна выводить все простые делители числа x
((простым является число которое делится нацело только на себя и на 1))

var x,i1,i2,d:integer;
begin
read(x);
for i1:=1 to x do
if x mod i1=0 then
for i2:=1 to i1 do
begin
if i1 mod i2 = 0 then d:=d+1;
if d=2 then writeln (i1);
d:=0;
end;
end.

Станислав
Станислав

1. d не обнулено в самом начале
2. d=2 - очень странное условие

а если их три, то когда d станет равен двум мы увидим число на экране.
а если их четыре - увидим дважды
ибо условие внутри for

Похожие вопросы
Pascal - ожидался идентификатор, помогите найти ошибку
pascal где ошибка !!!
найдите пожалуйста ошибку. Код не большой))
Помогите найти ошибку pascal
Небольшая ошибка в Pascal
Pascal помогите исправить ошибку.
Pascal ABC.NET ошибка
Pascal >> Ошибка 207: Ошибочная операция с плавающей запятой
Где ошибка ???ABC PASCAL
Ошибка в программе PASCAL