Problem 117
コンテンツ
http://projecteuler.net/index.php?section=problems&id=117
そのままDP。
import Data.Array.IArray measure n = mArr!n where mArr = listArray (,n). map m $[..n]::Array Int Integer m = 1 m x = sum.map m'.zipWith (-) (repeat x) $ [1..4] m' x | x < = | x >= = mArr!x main = print.measure$ 50
というか、高々4つ前の値しか必要ないので、DPも必要ない?
ないね。
import Data.List measure' = :::1:zipWith4 add m0 m1 m2 m3 where add a b c d = a+b+c+d (m0:m1:m2:m3:_) = iterate tail measure' main = print$measure'!!53
作成者 Toru Mano
最終更新時刻 2023-01-01 (c70d5a1)