Bernoulli numbers: Difference between revisions
Content added Content deleted
(→{{header|Haskell}}: Alternative version) |
|||
Line 1,255: | Line 1,255: | ||
(bernouilliNumbers 60))</lang> |
(bernouilliNumbers 60))</lang> |
||
{{Out}} |
{{Out}} |
||
<pre> |
<pre>B(0) = 1/1 |
||
maybe Monad |
|||
identity.scpt |
|||
js-001.scpt |
|||
js-002.scpt |
|||
js-003.scpt |
|||
js-004.scpt |
|||
jsMaybe.scpt |
|||
maybeAS-001.scpt |
|||
maybeFunction-001.scpt |
|||
maybeJS-005.scpt |
|||
setComprehension.scpt |
|||
setQuery-001.scpt |
|||
maybeFunction-001.scpt |
|||
TP2OG-022.scpt |
|||
TP2OG-024.scpt |
|||
bitPopulationJS-002.scpt |
|||
Untitled |
|||
Main.hs |
|||
tmp.hs |
|||
Settings |
|||
faulHaberES6-010.scpt |
|||
1 |
|||
13 |
|||
14 |
|||
15 |
|||
16 |
|||
17 |
|||
18 |
|||
19 |
|||
20 |
|||
21 |
|||
22 |
|||
23 |
|||
24 |
|||
7 |
|||
8 |
|||
9 |
|||
10 |
|||
11 |
|||
12 |
|||
1 |
|||
2 |
|||
3 |
|||
4 |
|||
5 |
|||
6 |
|||
main :: IO () |
|||
main = |
|||
(putStrLn . unlines) |
|||
(concat $ |
|||
zipWith |
|||
(\i x -> |
|||
let n = numerator x |
|||
in [ concat ["B(", show i, ") = ", show n, "/", show (denominator x)] |
|||
| n /= 0 ]) |
|||
[0 ..] |
|||
(bernouilliNumbers 60)) |
|||
scanl |
|||
(\rs n -> |
|||
let xs = zipWith ((*) . (n %)) [2 ..] rs |
|||
in 1 - sum xs : xs) |
|||
[] . |
|||
enumFromTo 0 |
|||
import Data.Ratio (Ratio, numerator, denominator, (%)) |
|||
bernouilliNumbers :: Integer -> [Rational] |
|||
bernouilliNumbers = |
|||
fmap head . |
|||
tail . |
|||
Haskell - Main.hs:22 |
|||
B(0) = 1/1 |
|||
B(1) = 1/2 |
B(1) = 1/2 |
||
B(2) = 1/6 |
B(2) = 1/6 |