Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа 2.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
37 Кб
Скачать
☆

Метод решения:

В N полученных числах ищем:

  • максимальное значение,

  • максимальные значение кратное шести (если есть) 

  • максимальные значение кратное трем (если есть)

  • максимальные значение кратное двум (если есть)

из этих полученных чисел формируем максимальное контрольное значение, сравниваем с полученным.

11. «Последовательность чисел» Анализ последовательности чисел, выделение в ней участка с наибольшим «подъемом».

Текст задачи: По каналу связи передается последовательность положительных целых чисел X1, X2 …, все числа не превышают 1000, их количество заранее неизвестно. Каждое число передается в виде отдельной текстовой строки, содержащей десятичную запись числа. Признаком конца передаваемой последовательности является число 0. Участок последовательности от элемента XT до элемента XT-Nназывается подъемом, если на этом участке каждое следующее число больше предыдущего. Высотой подъема называется разность XT-N - XT Напишите эффективную программу, которая вычисляет наибольшую высоту среди всех подъемов последовательности. Если в последовательности нет ни одного подъема, программа выдает 0.

Программа должна напечатать отчет по следующей форме: Получено ... чисел Наибольшая высота подъема: … Размер памяти, которую использует Ваша программа, не должен зависеть от длины переданной последовательности чисел.

Метод решения:

  • задаем максимальную высоту подъема равную нулю

  • в цикле While() получаем числа пока не получим 0. Всякий раз сохраняем предыдущее значение.

  • Получив новое число, которое больше предыдущего считаем, что это - новый подъем, вычисляем его текущую высоту.

  • По окончании подъема сравниваем его с текущим максимальным, в случае если текущий подъем больше - перееопределяем значение.

P.S.