0647righ1113 ◆OPKWA8uhcY
2017/01/18(水) 20:41:25.02ID:ZtV8agPEmodule Collatz08 where
import Control.Monad.Fix
col :: Integer -> Integer
col 1 = 1
col x = if odd x then 3*x+1 else x `div` 2
af :: [Integer] -> [Integer]
af xs = concat $ map af' xs
af' :: Integer -> [Integer]
af' x = (\z -> z ++ [1])
$ takeWhile (1/=)
-- x*100を任意の関数にする
$ takeWhile (\y -> if x*100 > y then True else error "over!")
$ iterate col x
-- この関数が定義できない
h :: ([Integer] -> [Integer]) -> [Integer] -> Bool
h _ _ = False
m :: [Integer] -> [Integer]
m xs = if h m xs then [1..] else [1]