Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3473233
А
Аноним
17 октября 2025 15:21 · публичный вопрос
А
Аноним

Разработайте программу решения следующей задачи. Создайте список из n чисел. Размер списка и натуральные значения элементов введите с клавиатуры. Найдите в списке и выведите на…

Запрос пользователя

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

Ответ нейросети
17 октября 2025 15:21

Ниже даю подробное решение задачи и рабочие примеры кода. Цель — понять принцип решения и научиться реализовывать на практике. Так как не указан конкретный предмет и класс, подстрою объяснение под общую среднюю школу.

Задача (пояснение алгоритма)

  • Вводим n и далее n натуральных чисел.
  • Нужно найти максимальное число среди тех, что оканчиваются на цифру 3 (то есть x % 10 == 3).
  • Если таких чисел нет, можно вывести соответствующее сообщение. В рамках задачи условие предполагает, что таких чисел хотя бы одно, но мы добавим безопасную обработку на случай отсутствия таковых.

Алгоритм

  1. Прочитать n.
  2. Прочитать далее n чисел.
  3. Инициализировать переменную max_end3 как пустую (или None).
  4. Для каждого числа x:
    • если x % 10 == 3, обновлять max_end3: если max_end3 пустой или x > max_end3, присвоить max_end3 = x.
  5. Если max_end3 нашёлся, вывести его. Иначе вывести сообщение, что таких чисел нет.

Сложность: время O(n), память O(1).

Пример реализации на Python

import sys

def main():
    data = sys.stdin.read().strip().split()
    if not data:
        return
    it = iter(data)
    try:
        n = int(next(it))
    except StopIteration:
        return

    max_end3 = None
    count = 0
    for _ in range(n):
        try:
            x = int(next(it))
        except StopIteration:
            break
        if x % 10 == 3:
            if max_end3 is None or x > max_end3:
                max_end3 = x
        count += 1

    if max_end3 is None:
        print("Нет чисел, оканчивающихся на 3")
    else:
        print(max_end3)

if __name__ == "__main__":
    main()

Пример реализации на C++

#include <iostream>
#include <limits>

int main() {
    using ll = long long;
    int n;
    if (!(std::cin >> n)) return 0;

    ll best = std::numeric_limits<ll>::min();
    bool found = false;
    for (int i = 0; i < n; ++i) {
        long long x;
        if (!(std::cin >> x)) break;
        if (x % 10 == 3) {
            if (!found || x > best) {
                best = x;
                found = true;
            }
        }
    }

    if (found) {
        std::cout << best << "\n";
    } else {
        std::cout << "Нет чисел, оканчивающихся на 3\n";
    }
    return 0;
}

Как проверить работу программы (руководство по тестам)

  • Подготовьте ввод:
    • Пример 1:
      • Ввод: 5 12 23 33 7 43
      • Ожидаемый вывод: 43
    • Пример 2 (нет чисел на 3):
      • Ввод: 4 11 25 7 89
      • Ожидаемый вывод: Нет чисел, оканчивающихся на 3
  • Как запустить (Python):
    • Сохраните код в файл, например solution.py.
    • В консоли выполните: python3 solution.py
    • Введите сначала n, затем n чисел (через пробел или перевод строки).
  • Как запустить (C++):
    • Сохраните код в файл, например solution.cpp.
    • Компиляция: g++ -std=c++17 solution.cpp -o solution
    • Запуск: ./solution
  • Примеры входных данных можно копировать целиком и вставлять в консоль.

Замечания по формату ввода

  • Программа читает n и далее ровно n чисел. Если введено меньше чисел, она обработает доступные и завершится корректно. Если введено больше чисел, лишние игнорируются.

Если хотите, могу адаптировать решение под другой язык программирования (Java, JavaScript и т. д.) или увеличить объяснение теории до более подробного пошагового разборa. Также могу помочь с созданием скриншотов: опишите, какая IDE/редактор используется, и могу подсказать, как сделать нужные снимки экрана для проверки.