Розв'язок на Haskell
Розв'язок на Haskell
Всі розв'язки, незалежно від мови програмування, перевіряються автоматичною системою. Система перевірки створює ізольоване, пусте оточення для вашої програми, компілює її і виконує декілька разів з різним набором вхідних даних. Після цього перевіряюча система порівнює дані виведені програмою з очікуваним результатом, використовуючи спеціальний алгоритм.
Перевіряюча система не аналізує код програми, не перевіряє її зміст, форматування, назву змінних, розмір програми тощо.
У випадку перевірки з використанням файлів для введення/виведення, виведення в стандартний потік введення/виведення (stdin і stdout) ігнорується. У випадку використання стандартних потоків введеня/виведення (stdin і stdout) перевіряюча система не аналізує файлів створених розв'язком.
Вхідні дані завжди відповідають обмеженням вказаним в умові задачі. В розв'язку немає потреби перевіряти коректність введення, якщо про це не сказано в умові задачі. Будьте уважні, рядки у вхідних даних розділені символом переходу на новий рядок \n
або сполученням символів переходу на новий рядок і повернення курсора:\r\n
. Програма повинна коректно опрацьовувати обидва варіанти.
Відповіддю вважається всі дані виведені програмою під час її виконання, тому якщо Ваша програма виводить додаткові повідомлення, наприклад "Введіть число" або "Відповідь: " ці повідомлення будуть вважатися частиною відповіді і розв'язок не буде зараховано. Слідуйте інструкції в умові задачі щоб відформатувати відповідь правильно.
Ви можете відправити розв'язок реалізований мовою програмування Haskell використовуючи компілятор Haskell. Перевіряюча система використовує компілятор The Glorious Glasgow Haskell Compilation System 8.0.2
що запускається в операційній системі Alpine Linux 3.6.
У випадку, коли компілятор повертає помилку, розв'язок не тестується і перевіряюча система зараховує "Помилку компіляції". На сторінці розв'язку буде виведено повідомлення про помилку згенеровану компілятором.
Приклад розв'язку простої задачі на Haskell:
main = do
input <- readLn :: IO Int
let a = input `div` 10
let b = input `mod` 10
putStrLn $ (show a) ++ " " ++ (show b)