Вопрос задан 27.07.2023 в 18:36. Предмет Информатика. Спрашивает Марков Денис.

Помогите написать программу на паскале. Федя с клавиатуры последовательность натуральных чисел.

Он хочет получить и вывести на экран максимально возможную сумму трех чисел из последовательности, каждое из которых оканчивается на цифру 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 10 в 6. Введённые числа не превышают 30000. Программа должна вывести одно число - максимальную сумму трех чисел, каждое из которых оканчивается на цифру 3. Если чисел, отвечающих условия не нашлось, выводится 0.Пример: вход: 6 7 13 15 3 23 103вывод: 139
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кулак Миша.

Федя с клавиатуры последовательность PascalABC.NET



0 0
Отвечает Коваленко Наталья.

PascalABC.NET 3.4.2, сборка 1814 от 02.10.2018


begin

 var a := ReadArrInteger(ReadInteger).Where(t -> t mod 10 = 3)

                                                                 .SortedDescending;

 Println(a.Count >= 3 ? a.Take(3).Sum : 0)

end.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на Паскале, можно использовать следующий код:

pascal
program MaxSumOfThreeNumbers; const MaxCount = 100000; var numbers: array[1..MaxCount] of integer; count, i, maxSum, currentSum: integer; function IsEndsWithThree(num: integer): boolean; begin IsEndsWithThree := num mod 10 = 3; end; begin // Ввод количества чисел в последовательности writeln('Введите количество чисел в последовательности:'); readln(count); // Ввод чисел writeln('Введите числа:'); for i := 1 to count do read(numbers[i]); // Инициализация максимальной суммы и текущей суммы maxSum := 0; currentSum := 0; // Поиск и суммирование трех чисел, оканчивающихся на 3 for i := 1 to count do begin if IsEndsWithThree(numbers[i]) then begin currentSum := currentSum + numbers[i]; if currentSum > maxSum then maxSum := currentSum; end; end; // Вывод результата writeln('Максимальная сумма трех чисел, оканчивающихся на 3: ', maxSum); end.

Обратите внимание, что здесь используется вспомогательная функция IsEndsWithThree, которая определяет, оканчивается ли число на 3. Затем программа проходит по введенной последовательности, суммирует три числа, оканчивающихся на 3, и находит максимальную сумму. Результат выводится на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос