台灣最大程式設計社群網站
線上人數
1518
 
會員總數:243174
討論主題:187988
歡迎您免費加入會員
討論區列表 >> C/C++ >> 亂數取數字
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
亂數取數字
價值 : 50 QP  點閱數:157 回應數:2

樓主

張紹融
門外漢
0 6
130 37
發送站內信

在 2 與 n 之間亂數挑選出25個質數(不得重複)

例:
輸入:2000↵
輸出:433,199,337,1699,1721,107,89,181,367,41,1103,1747,1931,1999,1669,193,191,13,23,709,3,839,947,571,97



要怎麼從中取出25個不重複的數字

搜尋相關Tags的文章: [ 亂數產生 ] , [ rand ] , [ 質數 ] , [ 取數字 ] ,
本篇文章發表於2018-07-11 22:40
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

DANNY
檢舉此回應

本篇文章回覆於2018-07-12 22:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

Raymond
檢舉此回應
幾乎所有「不能重複」的題目都可以用「洗牌法」來解決:
1. 先把 2..N 的質數存入陣列中.
2. 如果數量少於 25, 輸出錯誤並結束.
3. 用「洗牌法」把陣列的質數打亂.
4. 輸出陣列前 25 個元素.

「洗牌法」的邏輯很簡單: 就是依次從第一個元素到最後一個元素, 把元素的內容跟另一個亂數選出的元素對調.

本篇文章回覆於2018-07-23 10:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.