最近C++やVBAしか書いていなかったので、たまにはRubyを書いて気分転換しようと思いました。
お題は、本を読んでいると良さそうなものが出てきたので、それを実装しようと思います。
お題は、以下のような感じ
和が n となる2数の組合せを求める。
ただし, 和 n と 求める2数は0以上の整数
例) 0 = [0, 0], 1 = [[0, 1], [1, 0]], 2 = [[0, 2], [1, 1], [2, 0]]
以下、書いたコード。
1 def f(n) 2 m = 0 3 combination = [] 4 while n >= 0 5 combinatio n.push([m, n]) 6 m += 1; n -= 1 7 end 8 return combinatio n 9 end
素直に書いた感じです。
プログラミング初心者のための練習問題には良いかもしれないですね。
2009/03/08
僕の知らないところで、周りの人たちがこの話題で盛り上がってました。
- 和がnになる2数の組み合わせを求める - い~さねっと
- ひさしぶりの日記 - 日記のタイトル
- 2009-03-08
- UDONCHAN - 和がnになるm数の組み合わせを求める - はこべにっき@bkc - bkcグループ
はこべのおかげで、mapの存在を思い出すことができました。
1 def f(n) 2 (0..n).map{|i| [i, n-i] } 3 end
なんでこんなことも思いつかなかったのか・・・。
勉強不足ですね・・・。
はこべは一般化してたみたいなので、プログラミング大好きな人はそちらを参考にしてください。
posted by
y_tsuda
on Sun 8 Mar 2009
at 03:02