FC2ブログ

# ベル数 Bell Number
# 引数 整数 ($n)
# 戻り値 ベル数 ($BellNumber)
sub BELLNUMBER{
my ($n) = @_;
my $BellNumber = 0;
my @Bell = (1, 1);
my $N = int($n);

# 整数の確認
if($N < 0){
return 0;
}

if(($N == 0) || ($N == 1)){
# ベル数 Bell Number
$BellNumber = 1;

return $BellNumber;
}

# 計算
for(my $i = 1; $i < $N; $i++){
for(my $j = 0; $j < $i; $j++){
$Bell[$i + ($j + 1)] = $Bell[$j] + $Bell[$i + $j];

# 次回使用する値
$Bell[$j] = $Bell[$i + $j];
}

# ベル数 Bell Number
$BellNumber = $Bell[2 * $i];

# 次回使用する値
$Bell[$i] = $Bell[$i + 1] = $BellNumber;
}

return $BellNumber;
}


二項係数から
http://blog-imgs-36.fc2.com/a/m/a/amamiyaprog/BellNumber1.txt

参考URL
ベル数 - Wikipedia
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS