にっき

2007/11/12 20:22:06

くじびき+α


なんだかC系のと文法がかなり違うのはやっぱり違和感あるにゃぁ・・・
つい {} を描いて怒られたりとか関係ないとこで足止めされてばっかりにう(´ω`;【みかん
自動型変換も代入ならおっけぃなのに比較ではNGっていうのも・・・
とりあえずそんなことはおいといて☆
今日も07/11/09のにっきの続きにちゃれんぢ☆



まずは『n 人中 m 人が当選するくじ
004-lot.lua
function lot(n,m)
    math.randomseed(os.time());
    
    local list = {};
    for i = 1,n,1 do
        list[i] = i;
    end
    
    if n / 2 < tonumber(m) then
        for i = 1,n - m,1 do
            table.remove(list,math.random(table.getn(list)));
        end
        return list;
    else
        local result = {};
        for i = 1,m,1 do
            table.insert(result,table.remove(list,math.random(table.getn(list))));
        end
        return result;
    end
end

print(os.time());
print(table.concat(lot(arg[1],arg[2]),[[,]]));

n,m を引数に起動すればおっけぃ☆
>lua5.1 004-lot.lua 9999 10
960,7902,5731,7153,536,5299,7679,1329,628,9159

当選数の割合で落選した人をかっとするか当選した人を抜き出すかを変更してるけど
たぶんきっとちゃんと平等で処理効率もそんなむちゃじゃない・・・よね?
当選確率が50%に近づけば近づくほど効率が悪くなるのはなにかいいほうほうあるのかなぁ?
それにしても制御構造の描きかたがなんだか BASIC みたいにう・・・ (´ω`;【みかん


ついでに『税込み価格への修正
006-tax.lua
function tax(str)
    return (string.gsub(str,'(%d+)',function (p) return math.floor(p * 1.05); end));
end

print(tax(arg[1]));

元になる文字列を引数に起動すればおっけぃ☆
>lua5.1 006-tax.lua "ダイコン150円、ハクサイ120円、ジャガイモ30円"
ダイコン157円、ハクサイ126円、ジャガイモ31円

わんらいな〜で描けちゃったけど『関数を』ってなってたから関数で☆
string.gsub() だけだときゃぷちゃした個数まで返っちゃうから『()』で1つに抑制して完了?(´ω`;【みかん


こめんと

こめんとする?



 
投稿された内容の著作権はこめんとの投稿者に帰属するっぽいです☆
また,現在 IE6 以下で Sleipnir,Lunascape,Donut じゃないゆ〜ざえ〜じぇんとからの描き込みを制限してますです☆
該当しちゃうかたはてきとうにゆ〜ざえ〜じぇんとを偽装しちゃってくださいです(´ω`;【みかん
さぶこんてんつ
前月 2024年 11月 翌月
          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
 
             
  • あじ あじ
  • ED ED
  • えでん えでん
  • えれふぃ えれふぃ
  • ぐらぶれ ぐらぶれ
  • etc etc
  • にっき にっき

あわせて読みたい

先頭に戻る
めにう 先頭に戻る