100万円になるまで足しこむとか
ふと目についたので。
プレゼントの抽選をするプログラムをrubyで書いてみた。
えと、応募する人はカラメルから、GMOとくとくポイントで買える、何でも好きな商品を選んでもらえば、当選で、その分のポイントをプレゼントするというものなので、総額100万円になるまで抽選した応募情報を足しこんでいくプログラム。
Ruby はよく分からないんだけど、とりあえず条件を達成(max > 1000000)した時点でループを抜けるようにしてもいいんじゃないかな、とか。
あと、自分だったらという話だけど、
ファイルに書き込む必要はなくて、標準出力の内容を適当なファイルにリダイレクトさせるかも。
[php]
<?php
$list = file('/tmp/present.csv');
shuffle($list);
$total = 0;
foreach($list as $row) {
$wk = split(",", $row);
$total += (int) $wk[5];
if ($total > 1000000) {
break;
}
echo $row . "\n";
}[/php]
件数が少なければ Excel でやってしまうかも。
ランダムな並べ替え-RAND関数
SUM は選択したセルの集計値が右下のステータスバーに出てくるので、
適当な行まで選べばいいし。