にっき

2007/11/16 19:30:05

がっこでみかけたもの


ふみゅ・・・
table の中身表示するのに毎回
print(table.concat(xxx,[[,]]));

みたいに描くのめんど〜だにゃぁ・・・ (´・ω・`;【みかん
ってことでらいぶらり化して
mylib.lua
function PrintTable(tbl)
    print('[' .. table.concat(tbl,[[,]]) .. ']');
end

をぱすの通ったとこに置いといて
require([[mylib]]);
PrintTable(xxx);

・・・でいいのかにう? 〆(´ω`;【みかん



とりあえず動いてるしそれっぽいからおっけぃってことにして
なんだか授業で聞いたことあるようなないような『議席数をどんと方式で』にちゃれんぢ☆
026-dont.lua
function dont(n,votes)
    local seat = {};
    local point = {};
    
    table.foreachi(votes,function(k,v) seat[k] = 0;point[k] = tonumber(v); end);
    
    for i = 1,n,1 do
        local m = 1;
        for j = 2,table.getn(votes),1 do
            if point[j] > point[m] then
                m = j;
            end
        end
        
        seat[m] = seat[m] + 1;
        point[m] = votes[m] / (seat[m] + 1);
    end
    
    return seat;
end

require([[mylib]]);
n = table.remove(arg,1);
PrintTable(dont(n,arg));

1つめの引数に全体の議席数,それ以降に各政党の獲得票数を入れて
>lua5.1.exe 026-dont.lua 100 123 4 56 78
[48,1,21,30]

こんなかんじ?
Wikipedia のどんと方式をそのまま実装してみたけどこれでいいのかにう?(・x・。【みかん

ついでに『九九の表示』も☆
062-MultipleList.lua
function MultipleList(n)
    local f = string.format([[%%%dd * %%%dd = %%%dd]],string.len(n),string.len(n),string.len(n * n));
    
    for i = 0,n * n - 1,1 do
        local x = math.floor(i / n) + 1;
        local y = math.mod(i,n) + 1;
        print(string.format(f,x,y,x * y));
    end
end

MultipleList(arg[1]);

引数の2乗まで表示するけどあんまりおっきな数を指定すると大変なことになるからちうい?(´ω`;【みかん
>lua5.1.exe 062-MultipleList.lua 9
1 * 1 =  1
1 * 2 =  2
---- >8 ---- 中略 ---- >8 ----
5 * 4 = 20
5 * 5 = 25
---- 8< ---- 中略 ---- 8< ----
9 * 8 = 72
9 * 9 = 81

99を指定したらはじめのほうの流れちゃったけど
---- >8 ---- 前略 ---- >8 ----
99 * 97 = 9603
99 * 98 = 9702
99 * 99 = 9801

こんなかんじ?
って99だと9801行も出るはずだからそれは流れちゃうよね(´ω`;【みかん
あんまり普通すぎるのもあれだからる〜ぷ1つでがんばってみたけど・・・
たぶんきっと二重る〜ぷのほうが速い・・・よね?(´・ω・`;【みかん
よく見たら変数宣言しないで埋め込むと for のわんらいな〜になるかも?


こめんと

こめんとする?



 
投稿された内容の著作権はこめんとの投稿者に帰属するっぽいです☆
また,現在 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
  • にっき にっき

あわせて読みたい

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