В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
ayubabdulmanapov
ayubabdulmanapov
30.03.2023 06:36 •  Информатика

Задача C. Юбилей Имя входного файла: стандартный поток ввода
Имя выходного файла: стандартный поток вывода
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мебибайт
Сегодня у Мишиной бабушки юбилей: ей исполняется 90 лет! В честь такой знаменательной даты он решил приготовить подарок своими руками. Миша знает, что его бабушка —
в математик — точно обрадуется, если получит в подарок число. Он достал все
фигурки цифр, которые у него были, и разложил их в ряд, в результате чего получилось
число N.
Миша решил, что такое банальное число его бабушке не понравится. Теперь он хочет
узнать наибольшее число, кратное 90, которое может быть получено перестановкой цифр
числа N.
Формат входных данных
В единственной строке задано натуральное число N.
Формат выходных данных
Выведите единственное число — ответ на поставленную задачу, если он существует.
В противном случае, выведите «−1» (без кавычек).
Примеры
стандартный поток ввода стандартный поток вывода
90 90
207 720
3456 -1
Подзадача 1 ( : 30)
В N не более 1000 цифр.
Подзадача 2 ( : 70)
В N не более 105 цифр.
Решение в Паскале

Показать ответ
Ответ:
VasilisaBelkina
VasilisaBelkina
11.12.2020 09:05

//PascalABC.NET версия 3.2, сборка 1389

//Если программа не запускается, то обновите версию

uses System.Linq;

begin

   writeln('III');

   var a := ReadArrInteger('Документы', ReadInteger('n=')).ToList;

   writeln;

   

   while a.Any() do

   begin

       write(a[0], ' ');

       a.RemoveAt(0);

       if not a.Any then break;

       

       write(a.Last, ' ');

       a.RemoveAt(a.Count - 1);

       if not a.Any then break;

       

       var n := 0;

       if a.Count > 1 then n := a.Count div 2 - 1;

       write(a[n], ' ');

       a.RemoveAt(n);

   end;

end.

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота