Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
2006-08-11 [Haskell] シェルピンスキーのガスケット
『プログラマの数学』によると Pascal の三角形の数字の偶数奇数を塗り分けるとなんとシェルピンスキーのガスケットが現れるらしい. ちょっとやってみよう
pascal = [1]:[zipWith (+) ([0]++p) (p++[0]) | p <- pascal] disp = map (\ i -> if even i then '.' else '#')
と定義(sierpinski.hs)しておいて,ghci に読み込む.
% ghci sierpinski.hs ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.5.20060804, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base ... linking ... done. [1 of 1] Compiling main:Main ( sierinski.hs, interpreted ) Ok, modules loaded: Main. *main:Main>
こうしておいて,mapM_ putStrLn $ map disp $ take 64 pascal を評価すると
*main:Main> mapM_ putStrLn $ map disp $ take 64 pascal # ## #.# #### #...# ##..## #.#.#.# ######## #.......# ##......## #.#.....#.# ####....#### #...#...#...# ##..##..##..## #.#.#.#.#.#.#.# ################ #...............# ##..............## #.#.............#.# ####............#### #...#...........#...# ##..##..........##..## #.#.#.#.........#.#.#.# ########........######## #.......#.......#.......# ##......##......##......## #.#.....#.#.....#.#.....#.# ####....####....####....#### #...#...#...#...#...#...#...# ##..##..##..##..##..##..##..## #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.# ################################ #...............................# ##..............................## #.#.............................#.# ####............................#### #...#...........................#...# ##..##..........................##..## #.#.#.#.........................#.#.#.# ########........................######## #.......#.......................#.......# ##......##......................##......## #.#.....#.#.....................#.#.....#.# ####....####....................####....#### #...#...#...#...................#...#...#...# ##..##..##..##..................##..##..##..## #.#.#.#.#.#.#.#.................#.#.#.#.#.#.#.# ################................################ #...............#...............#...............# ##..............##..............##..............## #.#.............#.#.............#.#.............#.# ####............####............####............#### #...#...........#...#...........#...#...........#...# ##..##..........##..##..........##..##..........##..## #.#.#.#.........#.#.#.#.........#.#.#.#.........#.#.#.# ########........########........########........######## #.......#.......#.......#.......#.......#.......#.......# ##......##......##......##......##......##......##......## #.#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.#.....#.# ####....####....####....####....####....####....####....#### #...#...#...#...#...#...#...#...#...#...#...#...#...#...#...# ##..##..##..##..##..##..##..##..##..##..##..##..##..##..##..## #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.# ################################################################
おおっ.
--nobsun
There is no comment.