]> git.somenet.org - pub/jan/funcprog.git/blob - Aufgabe1.hs
all the funcprog files
[pub/jan/funcprog.git] / Aufgabe1.hs
1 -- bsp 1.1
2 convert :: Integer -> [Integer]
3 convert x = [ toInteger (fromEnum x - 48 ) | x <- (show (abs x)) ]
4
5
6 -- bsp 1.2
7 quersumme :: Integer -> Integer
8 quersumme x = sum (convert x)
9
10
11 -- bsp 1.3
12 dreiTeilbar :: Integer -> Bool
13 --dreiTeilbar 3 = True
14 --dreiTeilbar 2 = False
15 --dreiTeilbar 1 = True
16 --dreiTeilbar 0 = False
17 --dreiTeilbar x = dreiTeilbar (div (quersumme x) 3)
18 dreiTeilbar x = mod (quersumme x) 3 == 0
19
20
21 -- bsp 1.4
22 sechsTeilbar :: Integer -> Bool
23 sechsTeilbar x = ( (mod x 2 == 0 ) && (mod x 3 == 0 ))
24 --sechsTeilbar _ = False
25
26
27 -- bsp 1.5
28 elfTeilbar :: Integer -> Bool
29 elfTeilbar x = (mod (sum (komisch (reverse (convert x)))) 11) == 0
30 --elfTeilbar _ = False
31
32 komisch :: [Integer] -> [Integer]
33 komisch (x:y:xs) = x:(-y):(komisch xs)
34 komisch (x:xs) = x:[]
35 komisch [] = []