@m_seki の

I like ruby tooから引っ越し

2007-09-19から1日間の記事一覧

大団円

実はこれを買う前振りだったらしい。

下から読まないと、つまんないよ

require 'singleton' class Fact include Singleton def initialize @fact = Hash.new {|h, k| h[k] = k * h[k - 1]} @fact[1] = 1 end def [](n) return 1 if n <= 1 @fact[n] end end class Deck def initialize(seed, size=30) @fact = Fact.instance @se…

一枚もないよ

30枚デッキで5枚たねポケモンのとき、手札に1枚もたねポケモンが含まれない確率は‥(30-5)枚から7枚選ぶ組合せ ÷ 30枚から7枚選ぶ組合せ nCm(30 - 5, 7).quo(nCm(30, 7)) 23.61%だって。ほんとかなあ。 3回連続で手札にこなかったら負けなんだっけ? その確率…

下降階乗冪

へえ。下降階乗冪っていうのがあるのか。どっちでもいいけど。 class Fact ... def falling(m, n) self[m].div(self[m - n]) end end def nCm(n, m) fact = Fact.new fact.falling(n, m).div(fact.falling(m, m)) end p nCm(30, 7)

nCm

30枚から7枚選ぶ組合せは。 def nCm(n, m) fact = Fact.new fact[n].div(fact[m] * fact[n - m]) end p nCm(30, 7)

化粧箱に入れる

class Fact def initialize @fact = Hash.new {|h, k| h[k] = k * h[k - 1]} @fact[1] = 1 end def [](n) return 1 if n <= 1 @fact[n] end end f = Fact.new p f[5] p f[20]

組合せの前に階乗を準備

仕掛けはこれ。Hashのデフォルト値を求めるブロックで計算する作戦。おまけに結果はHashが保持してくれる。 fact = Hash.new {|h, k| h[k] = k * h[k - 1]} fact[1] = 1 irbで仕掛けを試す。 four:~ mas$ irb --simple-prompt >> fact = Hash.new {|h, k| h[…

いまこれ

はじめてのやのあきこアーティスト: 矢野顕子,槇原敬之,小田和正,YUKI,井上陽水,忌野清志郎,上原ひろみ出版社/メーカー: ヤマハミュージックコミュニケーションズ発売日: 2006/03/08メディア: CD購入: 6人 クリック: 326回この商品を含むブログ (158件) を見…