Similar presentations:
Программирование (Python). Зачем нужен цикл?
1. Программирование (Python)
1Программирование
(Python)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
2. Зачем нужен цикл?
Программирование (Python), 8 класс2
Зачем нужен цикл?
Задача. Вывести 5 раз «Привет!».
print("Привет")
print("Привет")
print("Привет")
print("Привет")
print("Привет")
Цикл «N раз»:
сделай 5 раз
print("Привет")
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
? А если 5000?
такого оператора нет
в Python!
http://kpolyakov.spb.ru
3. Как работает цикл?
Программирование (Python), 8 класс3
Как работает цикл?
! Нужно запоминать, сколько раз цикл уже выполнен!
переменная-счётчик
ещё не делали
счётчик = 0
пока счётчик < 5
print("Привет")
счётчик +=
= счётчик
+ 1
счётчик
1
сделали ещё раз
c = 0
while c < 5:
print("Привет")
c += 1
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
4. Ещё один вариант
Программирование (Python), 8 класс4
Ещё один вариант
Идея: запоминать, сколько шагов осталось.
счётчик = 5
пока счётчик > ???
0
print("Привет")
счётчик -=
= счётчик
???
1
1
c = 5
while c > 0:
print("Привет")
c -= 1
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
? Как записать иначе
последнюю строку?
http://kpolyakov.spb.ru
5. Цикл с предусловием
Программирование (Python), 8 класс5
Цикл с предусловием
• условие проверяется при входе в цикл
• как только условие становится ложным, работа цикла
заканчивается
• если условие ложно в самом начале, цикл не
выполняется ни разу
while условие:
...
тело цикла
? Если условие никогда не станет ложно?
while True:
...
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
бесконечный цикл
(зацикливание)
http://kpolyakov.spb.ru
6. Сколько раз выполняется цикл?
Программирование (Python), 8 класс6
Сколько раз выполняется цикл?
a = 4; b = 6
while a < b: a += 1
2 раза
a=6
a = 4; b = 6
while a < b: a += b
1 раз
a = 10
a = 4; b = 6
while a > b: a += 1
0 раз
a=4
a = 4; b = 6
while a < b: b = a - b
1 раз
b = -2
a = 4; b = 6
while a < b: a -= 1
зацикливание
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
7. Подбор числа битов
Программирование (Python), 8 класс7
Подбор числа битов
Задача. Ввести целое число – мощность алфавита M.
Найти количество битов i, необходимое для
равномерного кодирования символов из этого
алфавита.
?
Как найти i?
2i ≥ M
Начинаем с i = 1, увеличиваем i, пока i < M.
M = int(input("Мощность алфавита:"))
i = 1
while 2**i > 0:
i += 1
print(f"i={i}")
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
8. Задачи
Программирование (Python), 8 класс8
Задачи
«A»: Напишите программу, которая получает с
клавиатуры количество повторений и выводит
столько же раз какое-нибудь сообщение.
Пример:
Сколько раз повторить? 3
Привет!
Привет!
Привет!
«B»: Напишите программу, которая получает с
клавиатуры натуральное число N и подбирает
наибольшее натуральное число, квадрат которого
меньше, чем N.
Пример:
Введите число: 311
Ответ: 17
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
9. Задачи
Программирование (Python), 8 класс9
Задачи
«С»: Напишите программу, которая получает с
клавиатуры натуральное число N и подбирает
наибольшее число Фибоначчи, которое не больше,
чем N. Числа Фибоначчи – это последовательность
чисел, в которой первые два числа равны 1, а
каждое следующее равно сумме двух предыдущих:
1, 1, 2, 3, 5, 8, 13, 21, …
Пример 1:
Введите число: 311
Ответ: 233
Пример 2:
Введите число: 377
Ответ: 377
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
10. Разбиение числа на отдельные цифры
Программирование (Python), 8 класс10
Разбиение числа на отдельные цифры
Задача. Ввести натуральное число и вывести в столбик
все его цифры, начиная с последней.
123 3
2
1
Выделить последнюю цифру числа в переменной N:
d = N % 10
123 3
Отбросить последнюю цифру числа в переменной N:
N = N // 10
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
123 12
http://kpolyakov.spb.ru
11. Разбиение числа на отдельные цифры
Программирование (Python), 8 класс11
Разбиение числа на отдельные цифры
• выделяем последнюю цифру числа (%)
• выводим эту цифру на экран
• отсекаем последнюю цифру числа (//)
N
d
начальное значение
123
12
3
1
2
0
1
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
? Когда остановиться?
while N != 0:
...
http://kpolyakov.spb.ru
12. Разбиение числа на отдельные цифры
Программирование (Python), 8 класс12
Разбиение числа на отдельные цифры
N = int(input("Введите число:"))
while N != 0:
d = N % 10
print( d )
N = N // 10
? Если вместо 10 написать 8 ?
? Если вместо 10 написать 2?
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
12 4
1
12 0
0
1
1
http://kpolyakov.spb.ru
13. Сумма цифр числа
Программирование (Python), 8 класс13
Сумма цифр числа
Задача. Вычислить сумму цифр введённого числа.
123 1 + 2 + 3 = 6
Выделить последнюю цифру числа в переменной N:
d = N % 10
123 3
Отбросить последнюю цифру числа в переменной N:
N = N // 10
123 12
Добавить к переменной s значение переменной d:
s +=
= sd+ d
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
s = 6 6 + 4 = 10
d=4
http://kpolyakov.spb.ru
14. Сумма цифр числа
Программирование (Python), 8 класс14
Сумма цифр числа
• выделяем последнюю цифру числа (%)
• увеличиваем сумму на значение цифры (s+=d)
• отсекаем последнюю цифру числа (//)
N
d
123
s
0
начальные значения
? Когда остановиться?
12
3
3
1
2
5
0
1
6
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
while N != 0:
...
http://kpolyakov.spb.ru
15. Сумма цифр числа
Программирование (Python), 8 класс15
Сумма цифр числа
начало
обнулить
сумму
ввод N
s= 0
N != 0?
да
d = N % 10
s += d
N = N // 10
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
выполнять
"пока N != 0"
нет
вывод s
конец
http://kpolyakov.spb.ru
16. Сумма цифр числа
Программирование (Python), 8 класс16
Сумма цифр числа
N = int(input("Введите целое число")); N1= N
s = 0
while N != 0:
d = N % 10
s += d
N = N // 10
print("Сумма цифр числа", N1,
N, " равна", s)
? Что плохо?
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
17. Задачи
Программирование (Python), 8 класс17
Задачи
«A»: Напишите программу, которая вводит с клавиатуры
натуральное число и выводит цифры его записи в
троичной системе счисления (начиная с последней).
Пример:
Введите число: 12
0
1
1
«B»: Напишите программу, которая получает с
клавиатуры натуральное число и определяет,
сколько раз в его двоичной записи встречается
цифра 1.
30 = 111102
Пример:
Введите число? 30
Единиц: 4
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
18. Задачи
Программирование (Python), 8 класс18
Задачи
«C»: Напишите программу, которая получает с
клавиатуры натуральное число и находит
наибольшую цифру в его десятичной записи.
Пример:
Введите число: 311
Наибольшая цифра: 3
«D»: Напишите программу, которая получает с
клавиатуры натуральное число и определяет, есть
ли в его десятичной записи одинаковые цифры,
стоящие рядом.
Пример:
Введите число: 553
Введите число: 535
Ответ: да.
Ответ: нет.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
19. Разложение числа на простые сомножители
Программирование (Python), 8 класс19
Разложение числа на простые сомножители
1260 = 2 · 2 · 3 · 3 · 5 · 7
простые числа
Основная теорема арифметики: такое
разложение единственно.
Введите число: 1260
2
2
3
3
5
7
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
20. Разложение числа на простые сомножители
Программирование (Python), 8 класс20
Разложение числа на простые сомножители
1260 = 2 · 2 · 3 · 3 · 5 · 7
d = 2
пока N > 1:
если N делится на d:
print( d )
N //= d
иначе:
d += 1
N
d
экран
1260
2
2
630
315
2
3
105
3
3
35
4
35
5
7
6
7
7
5
7
1
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
21. Разложение числа на простые сомножители
Программирование (Python), 8 класс21
Разложение числа на простые сомножители
N = int(input("Введите целое число"))
d = 2
while N > 1:
if N % d == 0:
print( d )
N //= d
else:
# делится на d
# следующий делитель d
d += 1
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
22. Задачи
Программирование (Python), 8 класс22
Задачи
«A»: Напишите программу, которая получает с
клавиатуры натуральное число и выводит все его
простые сомножители в одну строчку.
Пример:
Введите число: 1260
1*2*2*3*3*5*7
«B»: Напишите программу, которая получает с
клавиатуры натуральное число и определяет,
сколько у него простых делителей.
Пример:
Введите число? 1260
Ответ: 6
1260 = 22·32·5·7
2, 2, 3, 3, 5, 7
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
23. Задачи
Программирование (Python), 8 класс23
Задачи
«C»: Напишите программу, которая получает с
клавиатуры натуральное число и находит сумму
всех его различных простых делителей.
Пример:
1260 = 22·32·5·7
Введите число: 1260
Ответ: 17
2+3+5+7
«D»: Напишите программу, которая получает с
клавиатуры натуральное число и определяет, есть
ли в его разложении одинаковые делители.
Пример:
Введите число: 1260
Введите число: 210
Ответ: да.
Ответ: нет.
210 = 2·3·5·7
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
24. Алгоритм Евклида
Программирование (Python), 8 класс24
Алгоритм Евклида
Задача. Найти наибольший общий делитель (НОД) двух
натуральных чисел.
Заменяем большее из двух чисел разностью
большего и меньшего до тех пор, пока они не
станут равны. Это и есть НОД.
НОД(a,b)= НОД(a-b, b)
= НОД(a, b-a)
Евклид
(365-300 до. н. э.)
Пример:
НОД (14, 21) = НОД (14, 21-14) = НОД (14, 7)
= НОД (7, 7) = 7
много шагов при большой разнице чисел:
НОД (1998, 2) = НОД (1996, 2) = … = 2
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
25. Алгоритм Евклида
Программирование (Python), 8 класс25
Алгоритм Евклида
начало
a = b?
да
конец
нет
нет
b=b-a
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
a > b?
да
a=a-b
http://kpolyakov.spb.ru
26. Алгоритм Евклида
Программирование (Python), 8 класс26
Алгоритм Евклида
while a != b:
if a > b:
a -=
= ab- b
else:
b -=
= ba- a
как заменить?
? Где будет НОД? Как его вывести?
? Как вывести НОД в формате НОД(14,21) = 7?
? А без дополнительных переменных?
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
27. Модифицированный алгоритм Евклида
Программирование (Python), 8 класс27
Модифицированный алгоритм Евклида
Заменяем большее из двух чисел остатком от деления
большего на меньшее до тех пор, пока меньшее не
станет равно нулю. Тогда большее — это НОД.
НОД(a,b)= НОД(a % b, b)
= НОД(a, b % a)
Пример:
НОД (14, 21) = НОД (14, 7) = НОД (0, 7) = 7
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
28. Модифицированный алгоритм
Программирование (Python), 8 класс28
Модифицированный алгоритм
while a != 0 and b != 0:
if a > b:
a = a % b
else:
b = b % a
? Где будет НОД? Как его вывести?
if a != 0:
print(a)
else:
print(b)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
print( a+b
??? )
http://kpolyakov.spb.ru
29. В стиле Python
Программирование (Python), 8 класс29
В стиле Python
while b!=0:
a, b = b, a % b
Почему работает?
print(a)
заменить a на b и b на
(a % b)
?
a
b
a
b
21
14
14
21
14
7
21
14
7
0
14
7
! a > b!
7
0
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
30. В других языках программирования
Программирование (Python), 8 класс30
В других языках программирования
Паскаль:
while (a<>0) and
(b<>0) do
if a>b then
a:= a mod b
else
b:= b mod a;
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
С++:
while (a!=0 && b!=0)
{
if (a > b)
a = a % b;
else
b = b % a;
}
http://kpolyakov.spb.ru
31. Задачи
Программирование (Python), 8 класс31
Задачи
«A»: Ввести с клавиатуры два натуральных числа и найти их
НОД с помощью алгоритма Евклида.
Пример:
Введите два числа:
21 14
НОД(21,14)=7
«B»: Ввести с клавиатуры два натуральных числа и найти их
НОД с помощью модифицированного алгоритма
Евклида. Заполните таблицу:
a
64168
358853
6365133
17905514
549868978
b
82678
691042
11494962
23108855
298294835
НОД(a,b)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
32. Задачи
Программирование (Python), 8 класс32
Задачи
«C»: Ввести с клавиатуры два натуральных числа и сравнить
количество шагов цикла для вычисления их НОД с
помощью обычного и модифицированного алгоритмов
Евклида.
Пример:
Введите два числа:
1998 2
НОД(1998,2)=2
Обычный алгоритм: 998
Модифицированный: 1
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
33. Сколько раз выполняется цикл?
Программирование (Python), 8 класс33
Сколько раз выполняется цикл?
a = 4; b = 6
while a < b: a += 1
2 раза
a=6
a = 4; b = 6
while a < b: a += b
1 раз
a = 10
a = 4; b = 6
while a > b: a += 1
0 раз
a=4
a = 4; b = 6
while a < b: b = a - b
1 раз
b = -2
a = 4; b = 6
while a < b: a -= 1
зацикливание
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
34. Обработка потока данных
Программирование (Python), 8 класс34
Обработка потока данных
Задача. На вход программы поступает поток данных —
последовательность целых чисел, которая
заканчивается нулём. Требуется найти сумму
элементов этой последовательности.
while x!=0:
# добавить x к сумме
# x = следующее число
? Откуда возьмётся x в первый раз?
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
35. Обработка потока данных
Программирование (Python), 8 класс35
Обработка потока данных
s = 0
x = int(input()) # первое число
while x!=0:
s += x
x = int(input()) # ввести следующее
print("Сумма ", s)
? Как найти количество чисел?
? Как найти сумму положительных?
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
36. Задачи
Программирование (Python), 8 класс36
Задачи
«A»: На вход программы поступает неизвестное
количество чисел целых, ввод заканчивается нулём.
Определить, сколько получено чисел, которые
делятся на 3.
«B»: На вход программы поступает неизвестное
количество чисел целых, ввод заканчивается нулём.
Определить, сколько получено двузначных чисел,
которые заканчиваются на 3.
«C»: На вход программы поступает неизвестное
количество чисел целых, ввод заканчивается нулём.
Найти максимальное из введённых чётных чисел.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
37. Задачи на циклы (дополнительные)
Программирование (Python), 8 класс37
Задачи на циклы (дополнительные)
«A»: Напишите программу, которая предлагает ввести
число-пароль и не переходит к выполнению
основной части, пока не введён правильный пароль.
Основная часть – вывод на экран «секретных
сведений».
«B»: Напишите программу, которая получает с
клавиатуры натуральное число, которое больше 1, и
определяет, простое оно или нет. Для этого нужно
делить число на все натуральные числа, начиная с
2, пока не получится деление без остатка.
«C»: Напишите программу, которая получает с
клавиатуры два целых числа и вычисляет их
произведение, используя только операции
сложения.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
38. Задачи
Программирование (Python), 8 класс38
Задачи
«D»: Напишите программу, которая получает с
клавиатуры натуральное число и вычисляет целый
квадратный корень из него – наибольшее число,
квадрат которого не больше данного числа.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
39. Цикл по переменной
Программирование (Python), 8 класс39
Цикл по переменной
Задача. Вывести на экран степени числа 2 от 20 до 210.
k = 0
! Работа с k в трёх местах!
N = 1
Идея: собрать всё вместе.
while k <= 10 :
print(N)
N = N*2
не включая 11!
с нуля!
k = k + 1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
N = 1
for k in range(11)
range(11):
print(N)
N = N*2
сделать 11 раз
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
40. Цикл по переменной
Программирование (Python), 8 класс40
Цикл по переменной
for k in range(11):
print(k)
? Что выведет?
for k in [0,1,2,3,4,5,6,7,8,9,10]:
print(k)
0
1
2
…
10
Начать на с 0, а с 1:
for k in [1,2,3,4,5,6,7,8,9,10]:
print(k)
начальное
значение
for k in range( 1 ,11):
print(k)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
41. Цикл по переменной
Программирование (Python), 8 класс41
Цикл по переменной
Задача. Найти сумму чисел от 1 до 1000.
S = 0
for i in range(1,1001):
S += i
Задача. Вывести квадраты чисел от 10 до 1 по убыванию.
for k in [10,9,8,7,6,5,4,3,2,1]:
print(k*k)
не включая 0
шаг
for k in range(10,0,–1):
print(k*k)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
42. Цикл по переменной
Программирование (Python), 8 класс42
Цикл по переменной
Задача. Найти сумму чётных чисел от 2 до 1000.
S = 0
for i in range(2,1001):
if i % 2 == 0:
S += i
? Что плохо?
шаг
S = 0
for i in range(2,1001, 2 ):
S += i
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
43. В других языках программирования
Программирование (Python), 8 класс43
В других языках программирования
Паскаль:
С:
S:= 0;
for i=1 to 1000 do
S:= S + i;
int S, i;
S = 0;
for (i=1; i<=1000; i++)
S += i;
i=i+1;
шаг только 1 или
–1 (downto)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
S=S+i;
http://kpolyakov.spb.ru
44. Задачи
Программирование (Python), 8 класс44
Задачи
«A»: Напишите программу, которая находит количество
четырёхзначных чисел, которые делятся на 7.
«B»: Ипполит задумал трёхзначное число, которое при
делении на 15 даёт в остатке 11, а при делении на
11 даёт в остатке 9. Напишите программу, которая
находит все такие числа.
«C»: С клавиатуры вводится натуральное число N.
Программа должна найти факториал этого числа
(обозначается как N!) – произведение всех
натуральных чисел от 1 до N. Например,
5! = 1 • 2 • 3 • 4 • 5 = 120.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
45. Задачи
Программирование (Python), 8 класс45
Задачи
«D»: Натуральное число называется числом
Армстронга, если сумма цифр числа, возведенных
в N-ную степень (где N – количество цифр в числе)
равна самому числу. Например, 153 = 13 + 53 + 33.
Найдите все трёхзначные Армстронга.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
46. Проверка числа на простоту
Программирование (Python), 8 класс46
Проверка числа на простоту
Задача. Ввести натуральное число N и проверить,
является ли оно простым.
? Что такое простое число?
проверять все
? Как проверить?
от 2 до N-1
26: делится на 2? да составное
27: делится на 2? нет
делится на 3? да составное
29: делится на 2? нет
делится на 3? нет
простое
…
делится на 28? нет
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
47. Проверка числа на простоту
Программирование (Python), 8 класс47
Проверка числа на простоту
N = int(input("Введите число:"))
count = 0
от 2 до N-1
for i in range(2,N):
if N % i == 0:
? Как определить,
count += 1
что простое?
if count == 0:
print( f"{N} – простое" )
else:
print( f"{N} – составное" )
? Как ускорить?
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
48. Проверка числа на простоту
Программирование (Python), 8 класс48
Проверка числа на простоту
N = int(input("Введите число:"))
count = 0
от 2 до N-1
for i in range(2,N):
if N % i == 0:
count += 1
break
выход из цикла
if count == 0:
print( f"{N} – простое" )
else:
print( f"{N} – составное" )
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
49. Если искать все делители…
Программирование (Python), 8 класс49
Если искать все делители…
N = int(input("Введите число:"))
count = 0
от 1 до N
for i in range (1,N+1)
(1,N+1):
if N % i == 0:
count += 1
2
if count == ???:
print( f"{N} – простое" )
else:
print( f"{N} – составное" )
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
50. Задачи
Программирование (Python), 8 класс50
Задачи
«A»: Напишите программу, которая получает
натуральное число и определяет, простое ли это
число. Если число составное, программа должна
вывести количество его делителей.
Пример 1:
Введите число: 19
19 – простое число
Пример 2:
Введите число: 28
28 – составное число
делителей: 6
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
51. Задачи
Программирование (Python), 8 класс51
Задачи
«B»: Напишите программу, которая получает
натуральное число и определяет, простое ли это
число. Если число составное, программа должна
вывести количество его чётных делителей.
Подсказка: нужен ещё один счётчик.
Пример 1:
Введите число: 19
19 – простое число
Пример 3:
Введите число: 1260
Пример 2:
Введите число: 28
1260 – составное число
28 – составное число
четных делителей: 24
четных делителей: 4
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
52. Задачи
Программирование (Python), 8 класс52
Задачи
«С»: Напишите программу, которая получает
натуральные числа a и b и определяет, сколько
простых чисел есть на отрезке [a, b].
Пример 1:
Введите a и b: 5 23
Простых чисел: 7
Пример 2:
Введите a и b: 5 5
Простых чисел: 1
Пример 3:
Введите a и b: 1234 5678
Простых чисел: 545
К.Ю. Поляков, Е.А. Ерёмин, 2018-2024
http://kpolyakov.spb.ru
programming