haskellで漸化式

等差数列

初項3項差4の等差数列

Prelude> let a=3:(map (+ 4) a)
Prelude> take 10 a
[3,7,11,15,19,23,27,31,35,39]

等比数列

初項3項比4の等比数列

Prelude> let a=3:(map (* 4) a)
Prelude> take 10 a
[3,12,48,192,768,3072,12288,49152,196608,786432]

階差数列

Prelude> let a = 3:zipWith (+) a b where b=[1..]
Prelude> take 10 a
[3,4,6,9,13,18,24,31,39,48]

書けるもんだな(笑