==================================================================
主旨:
公開抽籤系統,讓大家都可以在公正數據公開後簡單算出自己組別。
並了解此次比賽抽籤原理。
本程式作為主辦單位抽籤使用,可大幅減少人工作業與板主負擔,板主
僅需按一個按鈕即可完成抽籤事宜。
本程式可推廣到任何比賽抽籤使用。
==================================================================
下載點:
http://tinyurl.com/2kqw66
(感謝葉子提供空間,也徵求棋友提供其他空間)
==================================================================
原始程式碼:
int Index[SumOfPeople];
AnsiString strNum = InputBox("給定樂透獎開獎數字","","0");
int Num = strNum.ToIntDef(0),index;
if(Num<1 || Num>42)
{
ShowMessage("不合法的公正數字!請檢查是否為1~42的數字!");
return;
}
Label1->Caption = "公正數字為:"+AnsiString(Num);
for(index=0;index<SumOfPeople;index++) Index[index] =
(index*Num)%SumOfPeople;
AnsiString AllSortName[SumOfPeople];
for(index=0;index<SumOfPeople;index++) AllSortName[Index[index]] =
AllName[index];
Memo1->Clear();
for(index=0;index<SumOfPeople;index++)
{
if(index%8==0)
{
Memo1->Lines->Append("=====================================");
Memo1->Lines->Append(GroupM[index/8]);
}
Memo1->Lines->Append(AnsiString(index)+":"+AllSortName[index]);
}
==================================================================
本程式所用時間複雜度為O(n) n為比賽人數,為線性時間,我們可以證明
程式最高效能必大於等於線性時間,足見本演算法之效能。
若對本程式有其他建議,歡迎諮詢。
--
天禁魔法團於 telnet://ptt2.cc DreamYeh2 板 特設天使魔法學院
歡迎對五子棋有興趣朋友來參觀唷!!
想了解更多天使,歡迎來 telnet://bbs.wretch.cc P_DreamYeh 板灌水^_^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.202.86.252