Bernoulli numbers: Difference between revisions
Content added Content deleted
(→{{header|Haskell}}: Light tidying of code and output in existing example) |
|||
Line 1,172:
The implementation of the algorithm is in the function bernoullis. The rest is for printing the results.
<lang Haskell>
import System.Environment
main = getArgs >>=
where
defaultArg as = if null as then 60 else read (head as)▼
defaultArg as =
if null as
then 60
printM m =
takeWhile ((<= m) .
bernoullis
printP (i, r) =
bernoullis =
where
berno i = 1 % (i + 1)
ulli _ [_] = []
ulli i (x:y:xs) = (i % 1) * (x - y) : ulli (i + 1) (y : xs)
<pre>B(0) = 1/1
▲{{out}}
B(1) = 1/2
B(
B(
B(
B(
B(
B(
B(
B(
B(
B(
B(
B(
B(
B(
B(30) = 8615841276005/14322▼
B(
B(34) = 2577687858367/6
▲B(30)=8615841276005/14322
B(36) = -26315271553053477373/1919190▼
B(
B(40) = -261082718496449122051/13530▼
▲B(36)=-26315271553053477373/1919190
B(42) = 1520097643918070802691/1806▼
B(44) = -27833269579301024235023/690▼
▲B(40)=-261082718496449122051/13530
B(46) = 596451111593912163277961/282▼
▲B(42)=1520097643918070802691/1806
B(48) = -5609403368997817686249127547/46410▼
▲B(44)=-27833269579301024235023/690
B(50) = 495057205241079648212477525/66▼
▲B(46)=596451111593912163277961/282
B(52) = -801165718135489957347924991853/1590▼
▲B(48)=-5609403368997817686249127547/46410
B(54) = 29149963634884862421418123812691/798▼
▲B(50)=495057205241079648212477525/66
B(56) = -2479392929313226753685415739663229/870▼
▲B(52)=-801165718135489957347924991853/1590
B(58) = 84483613348880041862046775994036021/354▼
▲B(54)=29149963634884862421418123812691/798
B(60) = -1215233140483755572040304994079820246041491/56786730</pre>▼
▲B(56)=-2479392929313226753685415739663229/870
▲B(58)=84483613348880041862046775994036021/354
▲B(60)=-1215233140483755572040304994079820246041491/56786730
=={{header|Icon}} and {{header|Unicon}}==
|