Python

Информатика. Объясните пожалуйста что, почему, за чем. Отвечает каждая строка и каждая команда. Пайтон

Rafiq Suleymanov
Rafiq Suleymanov
321
Тест чисел из диапазона на простоту. Неуклюжий и примитивный алгоритм высокой вычислительной сложности (а именно - кубической и с большим коэффициентом).

Первая строка - инициализация переменных, в которых потом накапливается результат. "b" - диапазон (итератор) от 10 до 19 включительно. "res" - пустой список.

Вторая строка открывает цикл в указанном диапазоне, переменная цикла "a".

Третья строка открывает вложенный цикл в диапазоне от 0 до (a - 1) включительно, переменная цикла "i".

Четвёртая строка инициализирует флажок "test", содержащий информацию о том, простое число или нет.

Пятая строка инициализирует переменную "x" - счётчик ещё одного вложенного (и ненужного) цикла.

Шестая строка открывает этот самый цикл, условие окончания - когда "x" дойдёт до 0.
Дальше по строкам нет смысла расписывать, цикл проверяет делимость "a" (переменной первого цикла) на "x", и если найден делитель, то цикл прекращается, и флаг простоты ставится в "False", обозначая этим, что число - составное.

После этого ненужного цикла (одиннадцатая строка) число добавляется в список "res", если оно простое. Конструкция добавления выбрана максимально неэффективно, как и сам алгоритм.

Двенадцатая строка после окончания всех циклов выводит список простых чисел. При этом, каждое найденное простое число будет присутствовать в списке столько раз, сколько составляет его величина минус два. Например, число 13 будет добавлено в список 11 раз.

И на будущее, код приводи текстом, а не картинкой. И никогда не фотографируй монитор, есть же возможность сделать скриншот.
ИК
Игорь Куц
87 571
Лучший ответ