• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

最近C++やVBAしか書いていなかったので、たまにはRubyを書いて気分転換しようと思いました。

お題は、本を読んでいると良さそうなものが出てきたので、それを実装しようと思います。

お題は、以下のような感じ

和が n となる2数の組合せを求める。

ただし, 和 n と 求める2数は0以上の整数

例) 0 = [0, 0], 1 = [[0, 1], [1, 0]], 2 = [[0, 2], [1, 1], [2, 0]]

以下、書いたコード。
ruby>>
def f(n)
m = 0
combination = []
while n >= 0
combination.push([m, n])
m += 1; n -= 1
end
return combination
end
<<ruby

素直に書いた感じです。

プログラミング初心者のための練習問題には良いかもしれないですね。

** 2009/03/08追記 **

僕の知らないところで、周りの人たちがこの話題で盛り上がってました。

はこべのおかげで、mapの存在を思い出すことができました。

ruby>>
def f(n)
(0..n).map{|i| [i, n-i] }
end
<<ruby

なんでこんなことも思いつかなかったのか・・・。

勉強不足ですね・・・。

はこべは一般化してたみたいなので、プログラミング大好きな人はそちらを参考にしてください。

posted by y_tsuda y_tsuda on Sun 8 Mar 2009 at 03:10 with 0 comments
Contents rssrss
Xperiaにインストールして1週間生き残ったアプリたち
gem serverをIE8から見るとヒドイことになる現象を解決
gem serverをIE8から見るとヒドイことに
Twitter, Account Suspended
GentooにRuby1.9をインストールした
GentooにScalaをインストールしてみた
多面ディスプレイ環境を手作りしてみた
lower-camel caseな文字列とアンダースコア区切りな文字列の相互変換をRubyで
topコマンドでのCPUコア毎の表示
Fedora11 (on VirtualBox) 速効レビュー
Tags
rubyGentooDIYFedoralinuxmemoScalatwitterunixvirtualboxweb
Comments rssrss
Aleksey Aleksey: The uname check is only due to a somewhat sloppy t... 02/02 07:03
Yu Tsuda Yu Tsuda: あぁ、そうですね、、syncすると戻ってしまいますね・・・。 ご指摘ありがとうございます!! 07/11 15:38
ursm ursm: /usr/portage 以下のファイルは更新のたび元に戻ってしまうので、/etc/portage/... 07/11 13:46
Yu Tsuda Yu Tsuda: 見た目だけでも、わざわざGentooをこういうリストに入れてるのがすごいなぁと思ったりしたのです(笑... 03/31 19:49
Leonard Chin (レオ) Leonard Chin (レオ): ただし、VirtualBoxで「Gentoo」などを選択しても、別にどのOSを入れても大丈夫だ。あく... 03/31 13:00
Yu Tsuda Yu Tsuda: この機能、結構便利なんですよねー。 またEmacsで便利な機能を見つけたらブログに書きまーす。 11/27 23:46
satoko satoko: 知らんかった!emacs派なのでうれしい。thanks! 11/27 12:08
satoko satoko: 他の記事も御苦労さまです!大変だけど、後で報われる(はず!)のでがんばってくださいませっ あとあと... 10/23 00:18