From d01a91022cc55841cf968a60ecee8f27b57b88e2 Mon Sep 17 00:00:00 2001 From: Matthias Wisniowski Date: Sun, 25 Mar 2012 19:42:13 +0200 Subject: 2.4 implemented 2.3 still to be fixed. --- AufgabeFFP2.hs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/AufgabeFFP2.hs b/AufgabeFFP2.hs index e4e646b..9e466b7 100644 --- a/AufgabeFFP2.hs +++ b/AufgabeFFP2.hs @@ -75,3 +75,22 @@ hSlow :: Int -> Int -> Float hSlow z i = (fromIntegral $ z^i) / (fromInteger $ fac $ fromIntegral i) ------------------------------------------------------------------------------- + +-- 4 + +-- gets the digits of an integer as a list +digits :: Integer -> [Integer] +digits x + | x<=0 = [] + | otherwise = (digits $ x `div` 10)++[x `mod` 10] + +-- calculates the goedel-number for the given integer +-- returns 0 for non-positive numbers +gz :: Integer -> Integer +gz n + | n<=0 = 0 + | otherwise = product $ zipWith (^) primes (digits n) + +-- goedel-number generator +gzs :: [Integer] +gzs = map (gz) [1..] -- cgit v1.2.3