Я пытаюсь разложить на множители заданное число a
, поэтому я написал следующий код на Паскале:
program prime_factors;
var b:array[1..1000] of integer;
k,i,d,a:integer;
begin
k:=0;
write(' enter number ');
read(a);
while a>1 do
if a mod d =0 then
begin
k:=k+1;
b[k]:=d;
a:=a div d;
end
else
if d=2 then
d:=d+1
else
d:=d+2;
for i:=1 to k do
write(b[i],' ');
readln();
readln();
end.
Но когда я запускаю его, он выдает ошибку 200 или ошибку времени выполнения, но я не могу определить, в чем проблема. Я использовал k как длину числа факторов в массиве b. Должен ли я думать, что проблема с индексом k?