2010-12-01から1ヶ月間の記事一覧

両替問題(末尾再帰版)

硬貨の種類を順に増やすというボトムアップを行うシンプルなもの. module CountChange where type Amount = Int type Coins = [Int] jpy :: Coins jpy = [1,5,10,50,100,500,1000,2000,5000,10000] cc :: Coins -> Amount -> Integer cc cs a = foldl f (1:…

ディレクトリ階層を平たくする

私のワーキングディレクトリは ~/work/2010/12/30/ のように日付による階層になっている. 過去1ヶ月とか過去1年のファイルを一覧したいことがあるので,階層を平たくするスクリプトをでっちあげた. module Main where import Control.Applicative import D…

「再帰のこころ」「反復のこころ」そして「メモ化」少々

「n個の対応する括弧のパターン」(http://d.hatena.ne.jp/ymotongpoo/20101209/1291879286)についてあれこれを徒然に考えてみました. 再帰で考える まずはパターン数を数えることにしましょう.この手の問題はまずは再帰で考えるのが基本です.m個のカッ…

この記事はHaskell Advent Calendar jp 2010のために書いたものです.