構建彩票優選號碼集
uj5u.com熱心網友回復:
qq1163418353uj5u.com熱心網友回復:
彩票優選號碼問題:目前彩票市場中,比較多的是一類“樂透型”彩票,例如37選9,31選7以及21選5等等。以“21選5”這種型別的彩票為例,在購買彩票時候,從0~21中選擇5個數字,5個數字的排列構成一組號碼,成為“一注彩票”。在你選擇好這樣5個數構成的排列后,彩票售賣機,會列印出你選擇的一注彩票,她會將個位數字前面補零,是的5個數字都是兩個數字構成,例如,如果你選取了{2,5,8,16,21}這個5個數字,并且將它們一次排放在由左往右的第1位至第5位,那么彩票售賣機將列印選擇一個10個的數字序列,如下:02 05 08 16 21
需要注意的是,05 02 08 21 16同上面的數字序列,不是同一注彩票;并且在選擇5個數字的時候,這個5個數字不能相同。
現在有些職業彩民,將購買彩票作為每日的一部分,有些職業彩民,長期購買彩票,搜集了彩票開賣以來的每期中將號碼,在這些中將號碼中,他們發現很少有兩期中將號碼一樣的情況。在選號碼的程序中,他們還會借助于一些軟體,對自己鐘愛的數字產生一些排列,考慮到以前已經中過獎的號碼,他們會把這些篩選掉。請你提出解決方法,幫他們快速的從自己鐘愛的數字產生的排列集合中找出已經中過獎的號碼。為了方便起見,假定自己鐘愛的數字產生的排列集合A以及前期中將號碼的集合B里面的每一注號碼,都由可以一個10個長度的數字字串表示,兩個集合里面的號碼都由隨即產生,號碼注數都不少于5000個。
【基本要求】
(1)輸入資料包括:自己鐘愛的數字產生的排列集合A,以及前期中將號碼的集合B,都存盤在輸入檔案input.txt中;輸出集合A和集合B中相同的號碼字串,存放在output.txt。
(2)集合A和B中的資料,號碼字串采用偽亂數的方式產生,每注中的5個資料不能重復。
(3)采用多種比較演算法來實作相同號碼字串的查找,至少使用選擇排序(或冒泡排序),快速排序(或者合并排序),堆排序(或者希爾排序)并且統計比較次數。
(4)在號碼字串的比較程序中,不能采用strcmp( )函式或者string類物件的方式比較,呼叫函式進行比較效率會比較低,建議將字串轉換成基本資料型別,例如int或者long型別進行比較。
(5)要提示選單的方式,顯示使用了多種排序演算法來進行兩個集合元素的比較。
uj5u.com熱心網友回復:
有代碼嗎
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/245435.html
標籤:C語言
上一篇:求助:C語言萬年歷農歷的實作
下一篇:c中指向指標的指標的問題
