(product (take 9 [1000,999..])) `div` (product (map (\j-> product [1..j]) (map (\j->length(j)) (group [2,2,2,2,2,2,2,2,2]))))
マイナスになる上記のコードは、私がコピーして、GHCiの中にコードを貼り付けた場合、それは答えとして私を-12740133310672
与えX=product (take 9 [1000,999..])
& Y=(product (map (\j-> product [1..j]) (map (\j->length(j)) (group [2,2,2,2,2,2,2,2,2]))))
多数はHaskellで
と形X div
Y、であり、 私がX & Y
と数えれば964541486381834014456320000 & 362880
となり、それを分割すると答えは2658017764500203964000
になります。
数値が大きすぎるためだと思いますが、コンピュータがXとYを正しく個別に計算できるので、どうやってそれらを組み合わせることもできません。整数の代わりのIntを使用して
をこれはちょうどそこの長さです - これは結果を 'Int'に制限しますが、本当に' Integer'が必要です - 'fromIntegralだけの'(\ j - > fromIntegral $ length j) 'を使います。代わりに – Carsten
の代わりに['genericLength'](https://hackage.haskell.org/package/base-4.8.2.0/docs/Data-List.html#v:genericLength)を使用することもできます。 – Carsten
btw:最後のparthは本当に奇妙です。最後の部分は '[9]'などです。 – Carsten