Problem 101
コンテンツ
http://projecteuler.net/index.php?section=problems&id=101
少し頭を使った。
ただの階差数列は1次の多項式
2階の階差数列は2次の多項式
3階の階差数列は3次の多項式
n階の階差数列はn次の多項式
なので
階差の山を作って
各高さの右端の数字を全部足すイメージ
gen = foldr f 1 .replicate 10 where f x y = 1 - x*y diff xs = zipWith (-) (tail xs) $ xs bOP g n = sum.map last.take n.iterate diff.take n.map g $ [1..] main = print.sum.map (bOP gen)$[1..10]
作成者 Toru Mano
最終更新時刻 2023-01-01 (c70d5a1)