gps1 :: Int -> Float -> Float -- testing 4 combinations of argument values -- pruning with 1/2 rules -- looking through 1 candidates of size 1 -- looking through 1 candidates of size 2 -- looking through 1 candidates of size 3 -- looking through 2 candidates of size 4 gps1 x y = fromIntegral x + y gps2 :: Int -> Maybe [Char] -- testing 6 combinations of argument values -- pruning with 9/17 rules -- looking through 1 candidates of size 1 -- looking through 2 candidates of size 2 -- looking through 4 candidates of size 3 -- looking through 6 candidates of size 4 -- looking through 8 candidates of size 5 -- looking through 12 candidates of size 6 -- looking through 38 candidates of size 7 -- looking through 48 candidates of size 8 -- looking through 112 candidates of size 9 -- looking through 144 candidates of size 10 -- looking through 176 candidates of size 11 -- looking through 704 candidates of size 12 -- looking through 1856 candidates of size 13 gps2 x = if 2000 <= x then Just "large" else (if x < 1000 then Just "small" else Nothing) gps3 :: Int -> Int -> Int -> [Int] -- testing 2 combinations of argument values -- pruning with 11/33 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 64 candidates of size 4 -- looking through 0 candidates of size 5 -- looking through 1536 candidates of size 6 -- looking through 0 candidates of size 7 -- looking through 26127 candidates of size 8 gps3 x y z = enumFromThenTo x (x + z) (y - 1) gps3 :: Int -> Int -> Int -> [Int] -- testing 2 combinations of argument values -- pruning with 6/18 rules -- looking through 1 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 3 candidates of size 3 -- looking through 0 candidates of size 4 -- looking through 18 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 108 candidates of size 7 -- looking through 36 candidates of size 8 cannot conjure gps4 :: [Char] -> [Char] -> [Char] -> Bool -- testing 9 combinations of argument values -- pruning with 11/15 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 0 candidates of size 4 -- looking through 6 candidates of size 5 -- looking through 0 candidates of size 6 -- looking through 0 candidates of size 7 -- looking through 0 candidates of size 8 -- looking through 162 candidates of size 9 -- looking through 30 candidates of size 10 -- looking through 30 candidates of size 11 gps4 cs ds es = length cs < length ds && length ds < length es gps5 :: [Char] -> [Char] -- testing 5 combinations of argument values -- pruning with 2/3 rules -- looking through 2 candidates of size 1 -- looking through 1 candidates of size 2 -- looking through 3 candidates of size 3 -- looking through 6 candidates of size 4 -- looking through 5 candidates of size 5 -- looking through 13 candidates of size 6 cannot conjure gps6 :: Int -> Int -- testing 9 combinations of argument values -- pruning with 16/18 rules -- looking through 4 candidates of size 1 -- looking through 9 candidates of size 2 -- looking through 30 candidates of size 3 -- looking through 125 candidates of size 4 -- looking through 415 candidates of size 5 -- looking through 1602 candidates of size 6 cannot conjure gps7 :: [Char] -> ([Char],Int) -- testing 4 combinations of argument values -- pruning with 5/10 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 0 candidates of size 3 -- looking through 1 candidates of size 4 -- looking through 2 candidates of size 5 -- looking through 7 candidates of size 6 -- looking through 16 candidates of size 7 -- looking through 39 candidates of size 8 -- looking through 86 candidates of size 9 -- looking through 193 candidates of size 10 -- looking through 414 candidates of size 11 gps7 cs = (init (unlines (words cs)),length (filter (not . isSpace) cs)) gps8 :: [Char] -> [Char] -> [(Int,Char,Char)] -- testing 3 combinations of argument values -- pruning with 0/0 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 0 candidates of size 3 cannot conjure gps9 :: Int -> [Int] -- testing 3 combinations of argument values -- pruning with 13/14 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 4 candidates of size 3 -- looking through 4 candidates of size 4 -- looking through 10 candidates of size 5 -- looking through 25 candidates of size 6 -- looking through 35 candidates of size 7 -- looking through 87 candidates of size 8 -- looking through 150 candidates of size 9 -- looking through 272 candidates of size 10 gps9 x = filter even (filter (x >) (map sq [1..x])) wallisNext :: Ratio Integer -> Ratio Integer -- testing 6 combinations of argument values -- pruning with 37/64 rules -- looking through 1 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 3 candidates of size 3 -- looking through 15 candidates of size 4 -- looking through 4 candidates of size 5 -- looking through 118 candidates of size 6 -- looking through 5 candidates of size 7 -- looking through 825 candidates of size 8 wallisNext (x % y) = (y + 1) % (x + 1) gps10 :: Int -> Ratio Integer -- testing 6 combinations of argument values -- pruning with 3/4 rules -- looking through 0 candidates of size 1 -- looking through 0 candidates of size 2 -- looking through 3 candidates of size 3 -- looking through 3 candidates of size 4 -- looking through 2 candidates of size 5 -- looking through 5 candidates of size 6 -- looking through 8 candidates of size 7 -- looking through 13 candidates of size 8 gps10 x = product (take x (iterate wallisNext (2 % 3)))