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

Помогите написать программу на паскале.

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

Задать свой вопрос
2 ответа

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

Таисия Оленева
Я не могу быть на 100% уверен, но при n=7 и комплекте чисел 13 23 33 14 23 33 43 результат обязан быть 99, а не 109
Мирослава Малоева
33+33+43=109
Виолетта Кудряшова
Условие не так сообразил.. размышлял нужна сумма именно из последовательности чисел заканчивающихся на 3)
Мария Тарнакина
Тогда можно все гораздо проще написать
Антонина
И у вас ввод не подходит вводу в условии.
Коломийченко Эльвира
что не так с вводом?
Константин Спиридонычев
Там просто вводятся числа, без текстовых подсказок и проверок, из-за ввода в 1 ряд в вашем коде могут появиться препядствия при проверке в тестовой системе
Даниил Куцыбов
не написано что необходимо вводить одной строчкой
Игорек Пулов
Вам пример ввода предоставили

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


begin

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

                                                                 .SortedDescending;

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

end.

Валерия
а где проверка на то что n не больше 10 в 6 ступени и что числа не больше 30000?
Кристина Малюченкова
Это гарантируется условием
Катя Блондер
Нет слова типа "обязано", нет условия "по другому" что делать, если вдруг число будет больше? Нет такового пт как запросить поновой ввод
Луневавд Эмилия
begin var n := ReadInteger('n ='); var a := ReadArrInteger(n); if a.Where(x -> x mod 10 = 3).Count >= 3 then a.Where(x -> x mod 10 = 3).SortedDescending.Take(3).Sum.Println else Print(0)end.
Лилия Белованова
Методов много, n необязательно раздельно получать, она далее же у вас нигде не используется
Margarita Gerceva
это чтобы человек не путался при вводе, а вообще это все обязано оговариваться, наверное
Илья Фурдецкий
А, единсвенное пренебрегал написать, когда элементов мало будет, завтра исправлю
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт