2007-05-01から1ヶ月間の記事一覧

[プログラミング]分割数

数論には「分割数」という概念があって、与えられた任意の自然数NをN以下の自然数の和で表現したものを言うんだそうだ。 例えば、4の分割数は下記の5種類となる。 4 = 4 = 3 + 1 = 2 + 2 = 2 + 1 + 1 = 1 + 1 + 1 + 1 ここで自然数nを分割する関数をp(n)とし…

Longest Increasing Subsequence

最近「Longest Increasing Subsequence」という問題を知りました。問題の内容は、 自然数からなるランダムな数列の中から最長の増加部分列(Longest Increasing Subsequence)を探す という単純なものでグラフ問題の一種だそうです(http://en.wikipedia.org…

Fizz-Buzz問題(Scheme版)

巷で「Fizz-Buzz問題」が流行っているみたいなので、私も解いてみました。 ただし、3分以上かかってしまいましたが...。 (define (fizz-buzz) (letrec ((loop (lambda (n result) (if (< n 1) result (cond ((= (remainder n 15) 0) (loop (- n 1) (cons…