Ввести два числа. Если их произведение отрицательно, умножить его на (-5) и вывести на экран, в противном случае увеличить его в 4 раза и вывести на экран
toInts :: [String] -> [Int]toInts = fmap readmodify :: Int -> Intmodify x | x < 0 = x * (-5) | otherwise = x * 4main :: IO ()main= do putStrLn "Enter numbers separated by newlines:" x <- toInts <$> mapM (const getLine) [1..2] putStrLn $ "Answer is " ++ show (modify $ product x)
Переменная x получат список из 2 чисел, введенных со стандартного ввода. Затем находится произведение этих чисел и прогоняется через функцию modify. Эта функция принимает на вход число и, если оно отрицательное, домножает его на -5, иначе домножает на 4, результат возвращает. Затем отображаем полученный результат в консоли.
Язык указан не был, приведу пример на Haskell
toInts :: [String] -> [Int]toInts = fmap readmodify :: Int -> Intmodify x | x < 0 = x * (-5) | otherwise = x * 4main :: IO ()main= do putStrLn "Enter numbers separated by newlines:" x <- toInts <$> mapM (const getLine) [1..2] putStrLn $ "Answer is " ++ show (modify $ product x)Переменная x получат список из 2 чисел, введенных со стандартного ввода. Затем находится произведение этих чисел и прогоняется через функцию modify. Эта функция принимает на вход число и, если оно отрицательное, домножает его на -5, иначе домножает на 4, результат возвращает. Затем отображаем полученный результат в консоли.