エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
内包表記で生成したリストを2回使うと、スペースリークでシステムが停止してしまう
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
内包表記で生成したリストを2回使うと、スペースリークでシステムが停止してしまう
円周率を近似するコードです。 main :: IO () main = do let points = [(x,y) | x<-range 10000, y<-ran... 円周率を近似するコードです。 main :: IO () main = do let points = [(x,y) | x<-range 10000, y<-range 10000] let all = length $ points let hit = length $ filter ((<= 1) . distance) points putStrLn $ show $ (fromIntegral hit * 4) / (fromIntegral all) where range n = (map (/ n) [0 .. n]) distance (a,b) = sqrt(a*a+b*b) このコードを実行するとメモリが大量に消費され、システムが停止します。何か問題があるようです。 しかし、hit だけを評価、あるいは all だけを評価すると、このコードは動作します。 main :

