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

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

Ответ:
UskovaV99
UskovaV99
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?