2009-01-09から1日間の記事一覧

階乗の実装

J F#

再帰の見本としてよく使われる階乗をJとF#で実装してみるテスト。 F#の場合 まずは普通に再帰的に実装してみる。 let rec fact = function 0 -> 1 | n -> n * fact (n-1) 次に末尾再帰の形で実装してみる。 let rec fact2 n res = if n = 0 then res else fa…

TopCoder SRM 148 DIV 1 Medium 練習

問題 縦横の和が全て等しい3*3魔方陣を作る。魔方陣の要素となる9つの整数が与えられるので、作ることのできる魔方陣が何通りあるか求めなさい。 解 next_permutationゲー。C#にも欲しいです>< using System; using System.Text; using System.Text.Regula…

TopCoder SRM 148 DIV 1 Easy 練習

問題 トランプの山から隣あった数の和が13になるものとKのカードを取り除いていく。最後に何枚のカードが残るか。 解 山の一番最後と一番最初でもペアが作れることに注意する。 using System; using System.Text; using System.Text.RegularExpressions; usi…

TopCoder SRM 147 DIV 1 Medium 練習

問題 立方体の惑星に龍が六匹、それぞれの面に棲んでいる。食事の際、龍はそれぞれ隣り合った四面にいる龍の食事を盜もうとして、結果としてそれぞれの食事の四分の一を盜んでくる。最初にそれぞれの龍が食事を持っている量が与えられるので、指定の回数だけ…

TopCoder SRM 147 DIV 1 Easy 練習

問題 男女が輪っかの形に並んでて、K人目を輪から取り除く作業を女性の人数ぶんだけ繰り返したら、女性が全員居なくなりました。元の輪っかを復元してください。 解 単純にシミュレーションする。 using System; using System.Text; using System.Text.Regul…