Вход на сайт
задача из Haskell
360 просмотров
Перейти к просмотру всей ветки
в ответ MrSanders 22.04.14 09:58
Для того, что бы высчитать вероятность я написал следующее, но как обычно не верно 
chance (a1,a2,a3) n = summE/ 8000
where summE erfolgG (a1,a2,a3) n = length
where erfolgG (a1,a2,a3) n = [(x,y,z) | x<-[1..20], y<-[1..20], z<-[1..20], check x y z a1 a2 a3 n]
where check x y z a1 a2 a3 n = case (x,y,z) of
(1,1,_) -> True
(1,_,1) -> True
(_,1,1) -> True
(20,20,_) -> False
(20,_,20) -> False
(_,20,20) -> False
пробовал просто написать chance (a1,a2,a3) n = length (erfolgG (a1,a2,a3) n) / 8000
но тоже провал

chance (a1,a2,a3) n = summE/ 8000
where summE erfolgG (a1,a2,a3) n = length
where erfolgG (a1,a2,a3) n = [(x,y,z) | x<-[1..20], y<-[1..20], z<-[1..20], check x y z a1 a2 a3 n]
where check x y z a1 a2 a3 n = case (x,y,z) of
(1,1,_) -> True
(1,_,1) -> True
(_,1,1) -> True
(20,20,_) -> False
(20,_,20) -> False
(_,20,20) -> False
пробовал просто написать chance (a1,a2,a3) n = length (erfolgG (a1,a2,a3) n) / 8000
но тоже провал