вентилятор
Хорошего настроения!

ОГЭ по информатике - Задание 15 (нестандартные задачи, часть 2)



Когда речь заходит об ОГЭ по информатике, многие учащиеся начинают волноваться, ведь на экзамене предстоит не только ответить на базовые вопросы, но и решить сложные задачи, которые требуют нестандартного подхода и глубоких знаний.


Сегодня мы поговорим о нестандартных задачах из 15 задания ОГЭ по информатике.


Эта статья является продолжением похожей публикации на моём сайте о непростых задачах из 15 задания ОГЭ по информатике.





Задача (Наибольший делитель)

Напишите программу, которая в последовательности натуральных чисел определяет наибольший из делителей числа 2023. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, являющееся делителем числа 2023.


Количество чисел не превышает 1000. Введённые числа не превышают 30 000.


Программа должна вывести одно число: наибольший в последовательности делитель числа 2023.


Пример работы программы:


Входные данные Выходные данные
3
35
17
119
119

Решение:

Напишем программу на языке Python.

n=int(input())
mx=0
for i in range(n):
    a=int(input())
    if 2023%a==0:
        mx=max(mx, a)
print(mx)

Данная программа на языке Python позволяет находить наибольший делитель числа 2023 из последовательности чисел, введенной пользователем с клавиатуры.


Первая строка n=int(input()) запрашивает у пользователя количество чисел, которые будут вводиться в последующем.


Переменная mx (mx=0) инициализируется нулем. В ней будет храниться наибольший делитель числа 2023 из последовательности вводимых чисел.


Затем происходит цикл for, который выполняется n раз. На каждой итерации цикла пользователь вводит новое число a=int(input()), которое затем проверяется на то, делится ли число 2023 на него без остатка if 2023%a==0:. Если условие выполняется, то происходит обновление переменной mx, при этом записывается максимальное значение между текущим значением mx и введенным числом a mx=max(mx, a).


В конце программы выводится значение переменной mx с помощью функции print(mx), которая выводит значение на экран.


Таким образом, программа находит наибольший делитель числа 2023 из введенной пользователем последовательности чисел.





Задача (Наименьший делитель)

Напишите программу, которая в последовательности натуральных чисел определяет наименьший из делителей числа 888. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, являющееся делителем числа 888.


Количество чисел не превышает 1000. Введённые числа не превышают 30 000.


Программа должна вывести одно число: наименьший в последовательности делитель числа 888.


Пример работы программы:


Входные данные Выходные данные
3
13
24
37
24

Решение:

Напишем программу на языке Python.

n=int(input())
mn=30000
for i in range(n):
    a=int(input())
    if 888%a==0:
        mn=min(mn, a)
print(mn)

Данный фрагмент кода на языке Python запрашивает у пользователя целое число n через функцию int(input()), после чего инициализирует переменную mn значением 30000.


Затем, с помощью цикла for, который проходит через диапазон значений от 0 до (n-1), программа запрашивает n целых чисел по одному за раз через функцию int(input()) и сохраняет их в переменную a.


После этого программа проверяет, делится ли число 888 на a без остатка с помощью оператора % (остаток от деления). Если да, то программа сравнивает значение a с переменной mn и сохраняет наименьшее из двух значений в переменной mn с помощью функции min(). Если же число 888 не делится на a без остатка, то проверка пропускается.


По завершении цикла for программа выводит значение переменной mn, которая содержит наименьшее число, на которое число 888 делится без остатка из всех введенных чисел. Если ни одно из введенных чисел не делится на 888 без остатка, то программа также выведет значение переменной mn, которая не изменится и останется равной 30000.


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





Задача (Количество делителей)

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, являющихся делителями числа 5000, но отличных от 1. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, являющееся делителем числа 5000, отличное от 1.


Количество чисел не превышает 1000. Введённые числа не превышают 30 000.


Программа должна вывести одно число: количество чисел, являющихся делителями числа 5000, но отличных от 1.


Пример работы программы:


Входные данные Выходные данные
3
12
20
40
2

Решение:

Напишем программу на языке Python.

n=int(input())
k=0
for i in range(n):
    a=int(input())
    if 5000%a==0 and a!=1:
        k=k+1
print(k)

Данная программа на Python выполняет следующие действия:


Запрашивает у пользователя количество чисел n, которые будут вводиться для проверки.


Инициализирует переменную k, которая будет использоваться для подсчета количества чисел, которые являются делителями числа 5000, кроме 1.


Используя цикл for, программа перебирает n чисел, которые вводит пользователь.


Для каждого числа a, программа проверяет, делится ли 5000 на a без остатка и не равно ли число 1 (так как 1 является делителем любого числа, кроме самого себя).


Если условие выполняется, программа увеличивает значение переменной k на 1.


После завершения цикла, программа выводит количество чисел, которые являются делителями числа 5000, кроме 1, на экран.


Таким образом, программа на Python проверяет, сколько чисел, введенных пользователем, являются делителями числа 5000, кроме 1, и выводит количество этих чисел на экран.





Задача (Остаток меньше 9)

Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, которое при делении на число 110 даёт в остатке число, меньшее 9. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, которое при делении на число 110 даёт в остатке число, меньшее 9.


Количество чисел не превышает 1000. Введённые числа не превышают 30 000.


Программа должна вывести одно число: минимальное число, которое при делении на число 110 даёт в остатке число, меньшее 9.


Пример работы программы:


Входные данные Выходные данные
3
116
113
143
113

Решение:

Напишем программу на языке Python.

n=int(input())
mn=30000
for i in range(n):
    a=int(input())
    if (a%110)<9:
        mn=min(mn, a)
print(mn)

Данная программа на языке Python выполняет следующие действия:


Запрашивает у пользователя число n.


Инициализирует переменную mn, которая будет использоваться для хранения наименьшего числа, удовлетворяющего условию.


Используя цикл for, программа перебирает n чисел, которые вводит пользователь.


Для каждого числа a, программа проверяет, остаток от деления a на 110 (меньше ли 9).


Если условие выполняется, то программа использует функцию min, чтобы найти наименьшее число из чисел, удовлетворяющих условию, и записывает его в переменную mn.


После завершения цикла, программа выводит наименьшее число, удовлетворяющее условию, на экран.


Таким образом, данная программа на Python находит наименьшее число, которое имеет остаток от деления на 110 меньше 9, из n чисел, которые вводит пользователь.





Задача (Заключительная)

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, которые при делении на число 114 дают в остатке число, меньшее 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, которое при делении 114 даёт в остатке число, меньшее 8.


Количество чисел не превышает 1000. Введённые числа не превышают 30 000.


Программа должна вывести одно число: количество чисел, которые при делении на 114 дают в остатке число, меньшее 8.


Пример работы программы:


Входные данные Выходные данные
3
30
115
117
2

Решение:

Напишем программу на языке Python.

n=int(input())
k=0
for i in range(n):
    a=int(input())
    if (a%114)<8:
        k=k+1
print(k)

Данная программа на языке Python выполняет следующие действия:


Запрашивает у пользователя число n.


Инициализирует переменную k, которая будет использоваться для хранения количества чисел, удовлетворяющих условию.


Используя цикл for, программа перебирает n чисел, которые вводит пользователь.


Для каждого числа a, программа проверяет, остаток от деления a на 114 (меньше ли 8).


Если условие выполняется, то программа увеличивает значение переменной k на 1.


После завершения цикла, программа выводит на экран количество чисел, удовлетворяющих условию.


Таким образом, данная программа на Python подсчитывает количество чисел, у которых остаток от деления на 114 меньше 8, среди n чисел, которые вводит пользователь.





В заключение можно сказать, что решение нестандартных задач на ОГЭ по информатике требует от учеников не только знания базовых алгоритмов и языка программирования Python, но и умение мыслить логически, находить неочевидные связи между объектами и находить нетривиальные решения. Однако, с помощью тренировок и практики можно существенно улучшить свои навыки решения нестандартных задач и успешно справиться с заданиями на ОГЭ по информатике. Необходимо помнить, что ключевым фактором успеха является регулярная и целенаправленная подготовка, которая поможет ученикам приобрести необходимые знания и умения.


Успехов!


01-05-2023 в 23:10:04





Поддержать сайт:


Похожая статья:

ЕГЭ по информатике - Задание 14 (Укрощение Робота)

Продолжаем подготовку к ЕГЭ по информатике, и сегодня тренируемся реша...

Категория: Информатика  Подкатегория: ЕГЭ
Дата: 08-07-2020 в 20:44:57 0



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота. Расположите картинки горизонтально:




Нажимая кнопку Отправить, Вы соглашаетесь с политикой конфиденциальности сайта.