Форум — Development Простой вопрос по haskell'у 0 0 fn1 n = (-1)^n fn2 n = (2*n+1) fn3 a b = a/b myfn n = fn3 (fn1 n) (fn2 n) main = print (myfn 5) Не работает. Что делать? Ссылка
Ну как-то так, наверное: fn1 :: Integer -> Double fn1 = (^) (-1) fn2 :: Integer -> Double fn2 = fromInteger . (+) 1 . (*) 2 fn3 :: Double -> Double -> Double fn3 = (/) myfn :: Integer -> Double myfn n = fn3 (fn1 n) (fn2 n) main = print (myfn 5) swizard ★ (06.10.07 20:25:07 MSD) Показать ответ Ссылка
Ответ на: комментарий от swizard 06.10.07 20:25:07 MSD предлагаю fn4 :: (a -> b) -> (a -> c) -> a -> (b, c) fn4 f1 f2 x = (f1 x, f2 x) myfn = (uncurry fn3) . fn4 fn1 fn2 Begemoth ★★★★★ (06.10.07 21:06:39 MSD) Показать ответы Ссылка
Ответ на: комментарий от Begemoth 06.10.07 21:06:39 MSD disclaimer: код я не тестировал ,-) но идея должна быть понятна, можно дальше еще продолжить Begemoth ★★★★★ (06.10.07 21:07:24 MSD) Ссылка
Целые не делятся. myfn n = fn3 (fromInteger $ fn1 n) (fromInteger $ fn2 n) Miguel ★★★★★ (06.10.07 21:17:42 MSD) Ссылка
Ответ на: комментарий от Begemoth 06.10.07 21:06:39 MSD > предлагаю А зачем так? swizard ★ (06.10.07 22:34:15 MSD) Показать ответ Ссылка
Ответ на: комментарий от swizard 06.10.07 22:34:15 MSD это в духе твоих fn1, fn2, fb3 Begemoth ★★★★★ (07.10.07 10:03:24 MSD) Ссылка