Печать: Ctrl+P → ориентация альбомная, масштаб 100 % (не «вписать в лист»), поля нет, «печать фона» включить — иначе пропадут рамки таблиц. На листе две одинаковые карточки: разрезать по пунктиру посередине, получится две штуки формата A5. Эта серая рамка на бумагу не печатается.
10 класс

Перебор: делители и простые числа

Шестое занятие углублённого курса: range и его границы, for против while, цифры числа, делители и простые числа, разложение на множители, перебор отрезка как в задании 25 ЕГЭ — уроки 11–13 плана

Цикл по переменной

range(a, b) — числа от a до b − 1: правая граница не входит, до самого n доходит range(1, n + 1). range(n) начинается с нуля и даёт n чисел. Третье число — шаг: range(1, 10, 3) даёт 1, 4, 7; range(10, 0, −2) идёт вниз: 10, 8, 6, 4, 2. range(5, 1) без шага пуст. После for переменная хранит последнее пройденное значение; менять её внутри тела бесполезно.

for или while

Любой цикл переписывается другим. for — когда число шагов известно заранее (перебрать d от 1 до n), while — когда его определяет задача (пока делится, пока не нашли). После while в переменной первое неподошедшее значение, после for — последнее пройденное. В while шаг делает сам программист — иначе вечный цикл.

Цифры числа

n % 10 — последняя цифра, n // 10 отрезает её; while n > 0 перебирает все. Накопитель стартует с нуля для суммы, с единицы для произведения, с 9 для минимума цифры; флаг «есть ли цифра» стартует с «нет».

Делители

for d in range(1, n + 1): if n % d == 0 — перебор всех делителей; счётчик даёт их количество, накопитель — сумму, m = d — наибольший. Делители ходят парами d и n // d, один из пары не больше корня из n; у точного квадрата одна пара схлопывается, поэтому делителей нечётное число: у 49 их три.

Простое число

Ровно два делителя: 1 и само число. 1 — не простое, 2 — единственное чётное простое. Проверка: флаг prime = n > 1 ставится один раз до цикла, в цикле только сбивается; перебирать d достаточно, пока d · d ≤ n. Наименьший делитель больше единицы всегда простой.

Разложение на множители

d = 2; while n > 1: делится — снять d и поделить (d не двигать: он мог войти ещё раз), не делится — d = d + 1. 60 = 2 · 2 · 3 · 5. Если перебирать d только до корня, остаток n > 1 после цикла — тоже множитель (194 = 2 · 97). Ровно три делителя бывает у квадрата простого, четыре — у p · q или p³.

Задание 25 ЕГЭ

Перебрать числа отрезка по порядку, для каждого проверить свойство (число делителей, вид разложения), напечатать подходящие и что просят рядом — обычно делитель. Два вложенных цикла: внешний по отрезку, range(a, b + 1); внутренний по делителям, счётчик обнуляется перед ним. Строку с итогом печатать всегда, даже когда найдено ноль.

Тренажёр и разбор темы: https://kibersvet.ru/10/perebor-i-prostye/
Материалы подготовлены с использованием технологий искусственного интеллекта.
10 класс

Перебор: делители и простые числа

Шестое занятие углублённого курса: range и его границы, for против while, цифры числа, делители и простые числа, разложение на множители, перебор отрезка как в задании 25 ЕГЭ — уроки 11–13 плана

Цикл по переменной

range(a, b) — числа от a до b − 1: правая граница не входит, до самого n доходит range(1, n + 1). range(n) начинается с нуля и даёт n чисел. Третье число — шаг: range(1, 10, 3) даёт 1, 4, 7; range(10, 0, −2) идёт вниз: 10, 8, 6, 4, 2. range(5, 1) без шага пуст. После for переменная хранит последнее пройденное значение; менять её внутри тела бесполезно.

for или while

Любой цикл переписывается другим. for — когда число шагов известно заранее (перебрать d от 1 до n), while — когда его определяет задача (пока делится, пока не нашли). После while в переменной первое неподошедшее значение, после for — последнее пройденное. В while шаг делает сам программист — иначе вечный цикл.

Цифры числа

n % 10 — последняя цифра, n // 10 отрезает её; while n > 0 перебирает все. Накопитель стартует с нуля для суммы, с единицы для произведения, с 9 для минимума цифры; флаг «есть ли цифра» стартует с «нет».

Делители

for d in range(1, n + 1): if n % d == 0 — перебор всех делителей; счётчик даёт их количество, накопитель — сумму, m = d — наибольший. Делители ходят парами d и n // d, один из пары не больше корня из n; у точного квадрата одна пара схлопывается, поэтому делителей нечётное число: у 49 их три.

Простое число

Ровно два делителя: 1 и само число. 1 — не простое, 2 — единственное чётное простое. Проверка: флаг prime = n > 1 ставится один раз до цикла, в цикле только сбивается; перебирать d достаточно, пока d · d ≤ n. Наименьший делитель больше единицы всегда простой.

Разложение на множители

d = 2; while n > 1: делится — снять d и поделить (d не двигать: он мог войти ещё раз), не делится — d = d + 1. 60 = 2 · 2 · 3 · 5. Если перебирать d только до корня, остаток n > 1 после цикла — тоже множитель (194 = 2 · 97). Ровно три делителя бывает у квадрата простого, четыре — у p · q или p³.

Задание 25 ЕГЭ

Перебрать числа отрезка по порядку, для каждого проверить свойство (число делителей, вид разложения), напечатать подходящие и что просят рядом — обычно делитель. Два вложенных цикла: внешний по отрезку, range(a, b + 1); внутренний по делителям, счётчик обнуляется перед ним. Строку с итогом печатать всегда, даже когда найдено ноль.