@idartyom4858
Знакомлюсь с программированием.

Как ускорить процесс подсчёта до простого 10_001-го числа?

list_error = []
list = []

list_x = [i for i in range(2,1_0_0_0_0_0)] # 2,
list_y = [i for i in range(2,1_0_0_0_0_0)] # 2,

for x in list_x:
    for y in list_y:
        if x not in list_error or x not in list_error:
            if x / y != 1 and x % y == 0:
                list_error.append(x)
                break
            elif x / y == 1:
                list.append(x)
                break
        else :
            pass
print(f'{list}\n\n\t\t\t |Len : {len(list)}')#\n\n\n\t\t\t\t\t\
#| End =={list[10000]},{list[10001]}')
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
iggor-markin
@iggor-markin
Python Developer
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dmshar
1. Во-первых, чем делать цикл до N, если совершенно понятно, что достаточно сделать его до N/2 - ускорение в два раза.
2. Во-вторых - достаточно делать цикл до N**0.5 - не очевидно, но легко доказывается. Вот вам еще большее ускорение.
3. Ну, или возьмите более быстрый компьютер - тоже помогает "ускорить" процесс.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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