→ dendrobium:作業要自己寫喔! 乖 10/15 23:04
→ aleelyle:X是不是還有其他限制阿 要不然直接+1就好 餘數不會-1 10/15 23:05
→ bin0622:我想了1天多了,真的想不到就來這p文了.. 10/15 23:13
→ bin0622:我打出這個 if (X= =0 )X=1; 可是老師說不是 10/15 23:14
→ bin0622:是說要把0不要出現.那樣打只是0變1但是如果出現1那個這個1 10/15 23:15
→ bin0622:那個這個1是0還是1不知道!!所以他說要0不要出現 10/15 23:15
→ aleelyle:我是說x直接加1 不用if了 10/15 23:17
推 elfkiller:你可以改printf出來的東西阿 又沒說一定要改X內容 10/15 23:18
推 ducksteven:怎麼看起來好熟悉... 你是帥太的嗎= = 10/15 23:18
→ bin0622:帥太?? 不清楚ㄟ!! 10/15 23:27
推 VictorTom:首先你要知道rand()這個函數的作用, 它會回傳0~[某數] 10/15 23:34
→ VictorTom:回來, 所以你rand()%50, 值域會在0~N, N的值嘛, 提示你 10/15 23:34
→ VictorTom:%是取餘數; OK, 那你現在知道0從哪裡來的了, 就知道怎 10/15 23:35
→ VictorTom:樣弄掉它, 只是我不是很懂你們老師想幹麻, 所以我也只 10/15 23:36
→ VictorTom:能提示到這裡@_@" 10/15 23:36
→ VictorTom:話說, 你的題目原本是否應該是產生A~B之間的亂數啊?? 10/15 23:36
→ bin0622:他是說做樂透阿就出現隨機6個字組..但是會出現0 10/15 23:41
→ bin0622:他就說要吧0用掉..那要怎麼用掉!!這樣說就叫我們回去做.. 10/15 23:42
→ bin0622:那要怎麼寫 = = 腦袋當機中!!要瘋了.. 10/15 23:43
推 elfkiller:z-3-7-16 10/15 23:47
→ mantour:rand()%50 產生的是0~49的亂數 10/15 23:47
→ mantour:你要出1~50的話,就看你要全部+1,還是0變成50 都可以呀 10/15 23:48
→ mantour:如果是要出1~49的話,自己想 10/15 23:49
→ bin0622:可他這樣不是就跟 0變1 一樣道理嗎? 他好像不是要這樣的.. 10/15 23:53
→ mantour:不一樣呀 0變1 這樣1出現的機率跟2就不一樣了 10/16 00:05
→ VictorTom:我想你們老師的意思是希望產生的亂數裡就沒有0出現, 簡 10/16 00:05
→ VictorTom:單說.........被樓上先說了....Orz 10/16 00:05
→ mantour:0變1,1還是1 這樣開出1的機率是其他號碼的二倍 10/16 00:06
→ bin0622:喔喔..因該是這樣吧v大..全部+1 是在50後面+1嗎? 10/16 00:08
推 elfkiller:順便問一下 樂透是1到42不是? 還是改了? 10/16 00:13
→ bin0622:大樂透不是到49嗎??? 10/16 00:26
推 VictorTom:呵呵~~這就是原po你要搞清楚的問題啦:) 假如只要到49好 10/16 00:28
→ VictorTom:了, 你都+1以後就會生出1~50了, 那麼你又要怎麼辦呢?? 10/16 00:28
→ VictorTom:想想看吧應該不難的:) 10/16 00:28
推 ioioioioioio:rand後如果出現0 再重新rand一次 這樣應該可以吧 10/16 00:30
推 VictorTom:樓上這也是一個方法:) 不過可以寫出只產生需要的range內 10/16 00:32
→ VictorTom:的數字, 會比較有效率吧XD 10/16 00:33
→ bin0622:那吧50改成48 這樣全部+1 不就是 1~49了 對吧!! 10/16 00:34
→ dendrobium: 49 10/16 00:35
→ bin0622:為什麼是49 49+1不就是50了!! 樂透裡面不是到49嗎? 10/16 00:37
→ dendrobium:是 mod 49 , 輸出的值會在 0 ~ 48 之間 10/16 00:39
推 VictorTom:科科科, 你試試看就知道為什麼了, 再提示你, 想一想 % 10/16 00:40
→ VictorTom:........又被樓上講完了....Orz 10/16 00:40
→ dendrobium:好像講太多了... 10/16 00:40
→ VictorTom:嗚嗚~~人家今天一直被破梗....Q_Q~ 10/16 00:41
→ bin0622:那這樣寫可以嗎? X=rand()%49+1; >o<" 10/16 00:47
推 VictorTom:推算一下值域就知道這樣寫是OK的啦:) 10/16 01:15
→ VictorTom:順便提醒你, 如果這個題目是產生六個亂數, 那到這一步可 10/16 01:15
→ VictorTom:能可以收工了; 如果是樂透開獎/或電腦選號程式, 那你的 10/16 01:16
→ VictorTom:作業可能還有一半的路要走喔:) 10/16 01:16
→ bin0622:我試了一下這樣沒有0出現..所以這樣也行摟? 10/16 01:19
→ bin0622:他還沒叫我們寫樂透..目前叫我們0不要出現..我這樣ok了嗎? 10/16 01:20
推 sandr1983:還有一種方法,想像你是開獎機,塞入49個獎球 10/16 01:20
→ sandr1983:隨機pop一個球出來.連續pop幾次就是大樂透啦 10/16 01:21
→ sandr1983:用C++的vector 很容易實作 10/16 01:21
推 VictorTom:如果還不是樂透, 那看起來可以結案了, 弄清楚題目就好:) 10/16 01:22
→ bin0622:恩.. 那就結束拉 原來+1 這樣就好了!!我真笨!! 10/16 01:23
→ bin0622:謝謝 各位版大們指點.. 謝謝!! 10/16 01:24