Я должен закодировать функцию или скрипт, который находит все простые числа p меньше заданного целого числа n > 2, используя «решето Эратосфена», избегая ненужного хранения (я могу создать вектор длины n, но не более)
n = input('Enter your number');
v=[1:n];
v(1)=0
for i=2:n
s=0;
for j=v(2)
if i>v(2) && mod(i,j)==0
s=s+1;
end
end
if s>0
v(i)=0;
end
end
for i=v(v>v(find(v,1,'first'))):n
s=0;
for j=v(v>v(find(v,1,'first')))
if i>v(v>v(find(v,1,'first'))) & mod(i,j)==0
s=s+1
end
end
if s>0
v(i)=0;
end
end
v
Я понимаю, что это очень далеко от кода, который я должен написать. Но это единственная идея, которая пришла мне в голову, и она удаляет только числа, которые делятся на 2 и 3, и мне нужно найти все простые числа, повторяя это для каждой записи. Это явно неразумно. Но я чувствую, что для этого можно создать цикл. Но я не могу закодировать этот цикл. Пожалуйста помоги.