почему не выполняется условие? python
n = int(input())
res = []
for i in range(2, n):
counter = 0
for j in range(2, i+1):
if i % j == 0:
counter+=1
if 1 > counter:
print(f'{i}-i, {counter}-counter')
if i not in res:
res.append(i)
print(f'{i} % {j} == {i % j}')
print(*res)
суть кода выдать все простые числа до числа указанного пользователем. если смотреть по коду, то счётчик у девятки(i) равен 2, но всё равно выполняется второй блок с условием if counter < 1. помогите понять почему это происходит
Ответы (1 шт):
Автор решения: Fox Fox
→ Ссылка
Рабочий консольный пример на эту тему:
import os
v_start = 0
v_end = 1000
lst_primes = []
for n in range(v_start, v_end + 1):
for i in range(2, int(n ** 0.5) + 1):
if not n % i: break
else: lst_primes.append(n)
print("\nПростые числа в диапазоне от", v_start, "до", v_end, ":\n", lst_primes)
os.system("pause")