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

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

Показать ответ
Ответ:
angelinochka345
angelinochka345
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-бота