eolymp
Допомога

Розв'язок на 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)