@antinatalismmm

Как работает эта функция?

Занимаюсь программированием недавно. Наткнулся в интернете на эту функцию и не понимаю, как работает. Почему при n = 9 (и больше) такой разброс чисел (с учетом 7-ки) в инпуте? Каков математический алгоритм этих расчетов по порядку? Не могу его увидеть.

from math import *
n = int(input("введите диапазоны: "))

p = [2,3]
count = 2
a = 5
while (count < n):
    b=0
    for i in range(2,a):
        if( i <= sqrt(a)):
            if(a % i == 0):
                print("a neprost",a)
                b = 1
            else:
                pass
    if (b != 1):
        print("a prost",a)
        p = p + [a]
    count = count + 1
    a = a + 2
print (p)
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
@o5a
А что именно смущает? Алгоритм перебирает нечетные числа, начиная с 5. Пользовательское число n определяет, какое количество нечетных чисел всего брать (за вычетом изначально заданного количества count=2, т.к. список чисел заранее заполнен двумя числами 2,3).
Для каждого нечетного числа по списку он пытается определить, простое оно или нет, путем деления без остатка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы