#python #python-3.x
#python #python-3.x
Вопрос:
Я хочу получить список простых чисел. 15 не должно встречаться в соответствии с определением простого числа. Но это появилось на моем выходе. Я не знаю, что произошло. python
import math
n = input('n')
n = int(n)
A = list(range(2,n 1))
print(A)
n_=math.floor(math.sqrt(n))
m = list(range(2,n_ 1))
for i in range(0,len(m)):
if m[i]!=0:
j = m[i]^2
while j<= n:
A[j-2] = 0
j = j m[i]
A[0]=2;
print(A)
print(m)
Я ожидаю, что результат будет [2, 3, 0, 5, 0, 0, 0, 9, 0, 11, 0, 0, 0, 0, 0, 17, 0, 0, 0]
Фактический результат [2, 3, 0, 5, 0, 0, 0, 9, 0, 11, 0, 0, 0, 15, 0, 17, 0, 0, 0]
Комментарии:
1. Какой метод вы пытаетесь использовать? Вроде как похоже на сито, но я в замешательстве…
2. извините, ожидаемый результат должен быть [2, 3, 0, 5, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 17, 0, 0, 0], что-то происходит с 3, но я не смог выяснить проблему. lol
3. Но на какую математику вы полагаетесь?
4. Это решето!! извините, что забыл упомянуть, что
5. Спасибо… Я только начинаю изучать алгоритмы. Я реализую псевдокод в соответствии с псевдокодом в книге, но это не дало мне правильного ответа, лол. Возможно, я действительно не уловил идею, лол, еще раз спасибо, что указали на ошибку. Я проверю википедию: D