如何生成1-10之間不重複的隨機數
如題,要求演算法效率儘量高。
我的方案是這樣的:
宣告一個數組list<int> L=new list<> ();
然後將1-10一次新增到陣列L中。
宣告隨機數random ran=new random();
for(int i=0;i<10;i++)
{
//取數
int temp=ran.next(L.count());
L[temp];
L.removeAt(temp);
}
這樣只需要n次迴圈便可以隨機生成n個不重複的數字!
相關推薦
如何生成1-10之間不重複的隨機數
如題,要求演算法效率儘量高。 我的方案是這樣的: 宣告一個數組list<int> L=new list<> (); 然後將1-10一次新增到陣列L中。 宣告隨機數random ran=new random(); for(int i=0;i<10
獲取1-20之間不重複的10個隨機數
package set; import java.util.HashSet; import java.util.Random; //獲取1-20之間的不重複的10個隨機數 public class RandomNum { public static void mai
知識點14:陣列記憶體儲1-100的不重複隨機數問題
問題描述:在一個長度為100的數組裡隨機插入100個1-100內的隨機數,要求隨機數不能重複,並且不能使用其他型別的資料結構。僅可以使用陣列完成。 解法1: /** * 解題思路: * 隨機生成1-100裡面的數字z * . * 判斷是否在數組裡面存活 * 如果存活,則拋
js生成1-10之間的隨機整數
<script> //隨機整數 <!doctype html> <html> <head> <meta charset="utf-8"> &
隨機產生5個從0到10之間不重複的整數
既然是隨機,就必然會用到Math.random(),它能隨機產生大於等於0,小於等於1的數字。 我們要的是0到10之間的整數,所以我們將它乘10。(Math.random()*10) 我們要的是整數,因此,我們需要將它四捨五入為整數,只剩
PHP 生成一定數量的不重複隨機數
將隨機數存入陣列,再在陣列中去除重複的值,即可生成一定數量的不重複隨機數。 function unique_rand($min, $max, $num) {$count = 0;$return = array();while ($count < $num) {$r
為雜湊表追加不重複的10個值,且每個值都是1-10 之間的隨機數,問哪個數字重複的次數最多,重複了多少 次?
#生成字典的結構 import random dictA={} for i in range(1,11): listA = [] for j in range(1,11): temp = random.randint(1, 10)
生成0~9之間不重復的隨機數
print pre i++ time flag rand 之間 brush 循環 int main(void) { int m[9] = { 0 }; int flag = 0; srand(time(0)); for (int i = 0; i < 9;
產生5個不同的1-10之間的隨機數
定義和用法 splice() 方法向/從陣列中新增/刪除專案,然後返回被刪除的專案。 push() 方法可向陣列的末尾新增一個或多個元素,並返回新的長度。 1.輸出5個、不同的隨機數 var str=''; var arr=[]; for(i=0;i
python: 輸出 1~100 之間不能被 7 整除的數,每行輸出 10 個數字,要求應用字串格式化方法美化輸出格式。
#輸出 1~100 之間不能被 7 整除的數 j = 0 #for i in range(1,101): # 遍歷1-100取值,定義為變數 i if i%7 != 0: &n
生成不重複隨機數序列(Java)
從1到n之間抽取出k個不重複的隨機數,用Math.random()實現的話,可參照下面的程式碼。 int r = (int) (Math.random() * n), 生成下標,據此下標,去到numbers數組裡拿到隨機數。然後將numbers[r]的值設定成
已知一個函式rand7()能夠生成1-7的隨機數,請給出一個函式rand10(),該函式能夠生成1-10的隨機數。
題目:已知一個函式rand7()能夠生成1-7的隨機數,請給出一個函式,該函式能夠生成1-10的隨機數。思路:假如已知一個函式能夠生成1-49的隨機數,那麼如何以此生成1-10的隨機數呢?解法:該解法基於一種叫做拒絕取樣的方法。主要思想是隻要產生一個目標範圍內的隨機數,則直接返回。如果產生的隨機數不在目標範圍
[js][技巧]生成指定範圍指定個數的不重複隨機數
今天偶然看到的 比如要生成 1-100範圍之內的10個不重複隨機數,程式碼就可以這麼寫 var arr = []; for (var i = 1; i <=100; i++) { arr.push(i); } arr.sort(
生成不重複隨機數,自己寫的,嘿嘿
package 基礎演算法; import java.util.Arrays; public class radomNums { public static void main(String[] args){ int[] array=new int[8]; i
PHP高效生成一個不重複隨機數
PHP高效產生m個n範圍內的不重複隨機數(m<=n) 注:在《 Programming Pearls 》一書中也有提到,題目為“如何高效產生m個n範圍內的不重複隨機數(m<=n)” 該演算法非常巧妙的取隨機數的位置(陣列的下標),替代取隨機數本身,每次取到一個隨機數之後,就將其在取值範圍
mysql生成不重複隨機數(unique number generation)
問題來源 業務中有時會遇到要生成不重複隨機數的情況,例如,新生成一個商品編號、房間編號、或者其他物品編號等。不願意採用表的自增索引 id,同時又希望新生成的編號是不重複的。 這就需要考驗mysql的隨機數功能了。 Solution mysql的rand函
sql 生成隨機數 以及不重複隨機數
背景:想在表中隨機取10條記錄,讓取出來的資料不重複(表中必須是有個遞增列,且遞增從1開始間隔為1)。 資料表: CREATE TABLE testable ( id INT IDENTITY(1,1), myname NVARCHAR(1000), insertedTime DATETIME
生成不重複隨機數的方法 --抽獎問題等
問題描述: 給定一個n,一個m 要求在1 ~ n這n個數字中,生成m個不重複的隨機數。 思路: 生成隨機數大家都知道,C++中也提供了相關的函式——rand()。 但是問題中要求生成的是無重複的隨機數,這裡就需要對生成的隨機數進行去重操作了。 首選最
js 生成兩個整數之間不重複的n個隨機整數
偶遇一個js面試題:編寫一個javscript函式 fn,該函式有一個引數 n(數字型別),其返回值是一個數組,該陣列內是 n 個隨機且不重複的整數,且整數取值範圍是 [2, 32]。 如果願意,請先
C# Random 生成不重複隨機數
名稱空間:System 表示偽隨機數生成器,一種能夠產生滿足某些隨機性統計要求的數字序列的裝置。 偽隨機數是以相同的概率從一組有限的數字中選取的。所選數字並不具有完全的隨機性,因為它們是用一種確定的數學演算法選擇的,但是從實用的角度而言,其隨機程度已足夠了。 偽隨機數的