Python Math: Упражнение 17 с решением
Напишите программу Python, которая выводит первые n счастливых чисел.
Счастливые числа определяются через решето следующим образом.
Начните со списка целых чисел, начинающегося с 1:
1, 2, 3,4, 5, 6 , 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,. . . .
Теперь удалите каждое второе число:
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, …
Второе оставшееся число — 3, поэтому удалите каждое третье число:
1, 3, 7, 9, 13, 15, 19, 21, 25, …
Следующее оставшееся число — 7, поэтому удалите каждое 7-е число:
1, 3, 7, 9, 13, 15, 21, 25, …
Затем удалите каждое 9-е число и так далее.
Наконец, результирующая последовательность — это счастливые числа.
Следующая анимация демонстрирует решето счастливых чисел. Красные числа — счастливые числа.
Авторы анимации: кельтский менестрель
Пример решения : —
Код Python:
n = int (input ("Введите число:")) List = range (-1, n * n + 9,2) i = 2 пока List [i:]: List = sorted (set (List ) -set (List [List [i] :: List [i]])); i + = 1print (List [1: n + 1])
Пример вывода:
Введите число: 10 [1, 3, 7, 9, 13, 15, 21, 25, 31, 33]
Блок-схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует шаг за шагом, что делает компьютер, когда он выполняет указанную программу:
Редактор кода Python: