2010-04-09から1日間の記事一覧

Project Euler 15

http://projecteuler.net/index.php?section=problems&id=15 Combinationは再帰で書くと簡単。なのでメタプログラミングしてみた。 #include <iostream> template<int N, int M> struct C { static const long long value = C<N,M-1>::value * (N - M + 1) / M; }; template<int N> struct C<N, 0> { stat</n,></int></n,m-1></int></iostream>…

Project Euler 1(2)

F#

sumを再帰的に定義しましょう。 let sum list = match list with | head :: tail -> head + sum tail | [] -> 0 let N = 1000; printfn "%d" (sum (List.filter (fun n -> n % 3 = 0 || n % 5 = 0) [1..N-1]))最後の行、filterはこのように使います。 ラムダ…

今朝、気がついた。Project Eulerの問題ページに前後のページへのリンクがついてた。これ、前からほしかったんだけど、見落としてただけ?