Добавить в корзинуПозвонить
Найти в Дзене

Решение 17 задания КЕГЭ по информатике | Код в четыре строки

В 17 задании в киме по информатике требуется написать простенькую программу, проверяющую числа на делимость. Сразу перейдём к тексту и решим поставленную задачку. Рассматривается множество целых чисел, принадлежащих числовому отрезку [1016; 7937], которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите количество таких чисел и максимальное из них. В ответе запишите два целых числа без пробелов и других дополнительных символов: сначала количество, затем максимальное число. Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц. Только взглянув на задание понимаем, что без цикла for здесь не обойтись. (По крайней мере так должно быть, хы) Поэтому первым делом рисуем именно цикл. Напоминаю, что программировать мы будем на Python. for i in range(1016, 7937 + 1): Помним, что последнее число из отрезка нам также нужно проверить! В цикле, очевидно, нам необходимо проверять делимость. Используем условие if. for i in range(1016, 7937 + 1):

В 17 задании в киме по информатике требуется написать простенькую программу, проверяющую числа на делимость.

Сразу перейдём к тексту и решим поставленную задачку.

Рассматривается множество целых чисел, принадлежащих числовому отрезку [1016; 7937], которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите количество таких чисел и максимальное из них. В ответе запишите два целых числа без пробелов и других дополнительных символов: сначала количество, затем максимальное число.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Только взглянув на задание понимаем, что без цикла for здесь не обойтись. (По крайней мере так должно быть, хы)

Поэтому первым делом рисуем именно цикл. Напоминаю, что программировать мы будем на Python.

for i in range(1016, 7937 + 1):

Помним, что последнее число из отрезка нам также нужно проверить! В цикле, очевидно, нам необходимо проверять делимость. Используем условие if.

for i in range(1016, 7937 + 1):
if i % 3 == 0 and i % 7 != 0 and i % 17 != 0 and i % 19 != 0 and i % 27 !=0:

На данном этапе вводим две новые переменные: a = [], count = 0. Первая будет хранить в себе все подходящие числы, вторая — считать количество таких чисел. Кстати, с помощью этого значка % мы смотрим на остаток от деления.

a = []
count = 0

for i in range(1016, 7937 + 1):
if i % 3 == 0 and i % 7 != 0 and i % 17 != 0 and i % 19 != 0 and i % 27 !=0:
count +=1
a.append(i)

Мы используем метод append(), который добавляет элемент в конец списка. Длина списка увеличивается на один.

Подробнее о методах, полезных для работы со списками можно почитать здесь.

Заключительным этапом решения будет вывод ответа. Обратите внимание на то, в каком порядке нужно вывести полученные числа. У нас сначала количество чисел, а затем максимальное из них.

a = []
count = 0

for i in range(1016, 7937 + 1):
if i % 3 == 0 and i % 7 != 0 and i % 17 != 0 and i % 19 != 0 and i % 27 !=0:
count +=1
a.append(i)
print(count, max(a))

Вот и всё, по итогу мы получаем такой незамысловатый код... Потратить на такое задание можно не более двух минут.