生成重複 利用迭代運算生成不重複的隨機數

2021-10-25 12:22:07 字數 1195 閱讀 2996

如下**,a列中需要生成隨機數。

如果直接用randbetween()可以生成隨機數,但可能會有重複的數值。

一般需要程式設計,寫一段**,思路就是做迴圈,如果發現有重複的,繼續重新生成。

今天借助迭代運算,其實也相當於迴圈。

先看迭代運算最簡單的原理。

如果a1單元格中輸入公式=a1+1

正常情況下,將出現以下的「迴圈錯誤」。

原因是a1怎麼可以自己加上自己?

但是如果啟用了迭代運算,就會有結果。

【檔案】,【選項】,按如下設定。

迭代次數可以設定,這裡設定了100,結果就是100

相當於a1最開始為0,加1,再加1,自己得到的結果加1,加100次

就相當於迴圈計算100次。

接下來,將b1的公式如下,就是統計a1:a10出現的次數。

a1的公式如下:

就是如果b列加起來的數字不等於10,說明有重複的,有重複的,a1的值用int(rand()*30+1)重新取值,沒有重複就仍用a1的值。

a1公式向下填充,這樣a列就得到的是不重複的唯一隨機數。

子曰:用之則行,不用則藏。

意思是說,如果你用我的這些建議,就馬上行動,知行合一,如果你不用,就趕緊收藏,以絕後患。

利用java生成不重複的ID

當不使用任何持久化框架時,需要想辦法來生成不重複的id,類似於hibernate的uuid。第一種方法 packagecom.hh.util 建立資料庫id的通用方法.since jdk1.6 publicclasscreateid return 隨機建立資料庫15位id return string...

不重複排列的生成

全排列的話比較好打。可,當乙個集合中有許多重複的元素,如 如何生成不重複的排列?易知答案只有乙個。生成不重複排列,這很實用。思想 把重複的數字不在看做多個元素,而是看做乙個元素的多個個數。然後遞迴生成時,新增在答案裡的是次數的減少。正確性 如果按照以上思路,那麼可以知道,每個因為我們把重複的元素當做...

隨機生成不重複的資料

1 js生成不重複的隨機數 方法一 傳入乙個最大允許生成的引數。隨機生成十個不重複的資料出來 param是生成的最大數 function getnewrandomstr param if isequ i else num num.length val for var j 0 j num.length...