19/03/06 14:00:49.03 DSTJSgnq.net
>>146
>{(Lv^4) MOD 40}
結局これの足し算でしょ?
Σ[k=1, Lv-1] ((k^4) mod 40)
はLvが10増えるごとに93ずつ増えて行くから
Σ[k=1, Lv-1] ((k^4) mod 40)
= (Lv % 10) * 93 + Σ[k=1, (Lv mod 10) -1] ((k^4) mod 40)
右辺第2項は先に計算しといてから array にでもいれておけばいいんじゃね?
Prelude> let f x = sum [(mod (lv^4) 40)|lv<-[1..x-1]]
Prelude> let g x = (div x 10)*93 + ([0,0,1,17,18,34,59,75,76,92] !! (mod x 10))
Prelude> [(f x,g x)|x<-[0..29]]
[(0,0),(0,0),(1,1),(17,17),(18,18),(34,34),(59,59),(75,75),(76,76),(92,92),
(93,93),(93,93),(94,94),(110,110),(111,111),(127,127),(152,152),(168,168),(169,169),(185,185),
(186,186),(186,186),(187,187),(203,203),(204,204),(220,220),(245,245