1. 程式人生 > >簡單的 隨機 生成不重複 數字的小程式

簡單的 隨機 生成不重複 數字的小程式

int[] a=new int[changePic];
	   
		 a[0]=(int)(Math.random()*13+0);
		 for(int i=1;i<changePic;i++){
			 int radm = (int)(Math.random()*13+0);
			 outer:
			 for(int k=0;k<10000;k++){
			    for(int j=0;j<i;j++){
				 
				 if(radm==a[j]){
					 radm = (int)(Math.random()*13+0);
				     continue outer;
				 }
				}
			 break;
			 }
			 a[i]=radm;
		 }


k的那個迴圈是為了結束內部判定,j的迴圈是判定生成的radm(隨機數)是否跟a[0],a[1]等等發生重複,如果重複,重新生成radm 然後結束判定 ,返回k的迴圈,進行重新判定。

changePic這個是我自己有用的int值 所以就不賦值了

k的值設大一點沒問題,內部迴圈結束後會直接break到最外層迴圈

Math.random 13 0     0是指隨機範圍開始的數字, 13是指從0開始的13個數

差不多就這些了  謝謝~

相關推薦

簡單隨機 生成重複 數字程式

int[] a=new int[changePic]; a[0]=(int)(Math.random()*13+0); for(int i=1;i<changePic;i++){ int radm = (int)(Math.random(

隨機生成重複字串

 // 一:隨機生成不重複數字字串           private int rep = 0;         public string GenerateCheckCodeNum(int codeCount)         {             string

java中生成重複隨機數字

Java中產生隨機數1 . 呼叫java.lang下面Math類中的random()方法產生隨機數新建一個檔案字尾名為java的檔案,檔名取為MyRandom,該類中編寫如下的程式碼:public class MyRandom {public static void main(String[] args) {

指標 重複數字 洛谷P4305——簡單

題目描述: 給出N個數,要求把其中重複的去掉,只保留第一次出現的數。 例如,給出的數為1 2 18 3 3 19 2 3 6 5 4,其中2和3有重複,去除後的結果為1 2 18 3 19 6 5 4。 輸入格式: 輸入第一行為正整數T,表示有T組資料。 接下來每組資料包括兩行,

從給定數字集合中隨機重複數字演算法

遊戲開發過程中,會遇到比如:從給定的10個道具中隨機生成三個給使用者,要求生成的道具相互之間不重複。一般情況下,我們會將道具儲存在一個集合中,然後生成一個隨機數,使用生成的隨機數作為集合的索引,從集合中取出物件,傳遞給例項化函式。這樣做有一個缺點,生成的隨機數是

C程式11 求重複數字

程式11 求不重複數字 題目:有 1、2、3、4 個數字,能組成多少個互不相同且無重複數字的三位數?都是多少? 程式分析:可填在百位、十位、個位的數字都是 1、2、3、4。組成所有的排列後再去掉不滿足條件的排列。 自己理解: 個,十,百位每位有四種選擇,即三層for迴圈範

java生成重複隨機賬號

    /**      * 生成隨機賬號      * @return      */     public static String uuid() {  

簡單的java獲取微信程式openid的方法,需要jar包

@RequestMapping("getUserOpenId") @ResponseBody public String getUserOpenId(String appid, String js_code, String secret) {//  System.out.println("appid"+app

matlab之生成重複隨機整數

使用rand函式生成小數再取整的方法往往會造成資料重複。 而Matlab自帶函式randperm(n)可以產生1到n的整數的無重複的隨機排列,利用它就可以得到無重複的隨機數。例如: randperm

題:統計數字出現次數。 隨機生成100個數字數字範圍從1到10,統計每個數字出現的次數並打印到控制臺。

pre 方向 system 繼續 void pub arr static 遍歷 public static void main(String[] args) { printCount(getNumList());}private static ArrayList&l

[GO]隨機生成四們數字

port 需要 關系 類型 random 無法 推導 bsp ack package main import ( "math/rand" "time" "fmt" ) func InitData(p *int) { rand.Seed

有bug的隨機生成重復1-9的代碼

沒有 bsp stdlib.h brush class i++ 生成 int 產生一個隨機數 #include "pch.h" #include "stdio.h" #include "stdlib.h" #include "time.h" int m[9] = {0

BZOJ 2761 重複數字

Description 給出N個數,要求把其中重複的去掉,只保留第一次出現的數。 例如,給出的數為1 2 18 3 3 19 2 3 6 5 4,其中2和3有重複,去除後的結果為1 2 18 3 19 6 5 4。   Input 輸入第一行為正整數T,表示有T組資料。 接下來

JAVA 生成重複訂單號 優化版本 訂單號格式為yyyymmdd後面自增

@Service("orderNumberDubbboServiceImpl") public class OrderNumberDubbboServiceImpl implements OrderNumberDubbboService { private static Logger

隨機生成三位數字位數不足前面補0

前些天開發介面的時候遇到的一個問題,當時還傻傻的封裝了一方法,今天整理商城專案發現人家提供的有簡便的實現方法,這裡簡單整理下: public static void main(String[] args) { for (int i = 0; i < 20; i++) { Rand

MFC入門(一)-- 第一個簡單的windows圖形化介面程式(開啟計算器,記事本,查IP)

////////////////////////////////序////////////////////////////////   大約三年前,學過一些簡單的程式語言之後其實一直挺苦惱於所寫的程式總是拘泥於用的編譯器,脫離了編譯環境基本沒執行的可行性,故而寫一個在任意windows電腦下都能

[JLOI2011]重複數字

題目描述 給出N個數,要求把其中重複的去掉,只保留第一次出現的數。 例如,給出的數為1 2 18 3 3 19 2 3 6 5 4,其中2和3有重複,去除後的結果為1 2 18 3 19 6 5 4。 輸入輸出格式 輸入格式:   輸入第一行為正整數T,表示有T組資

有4個互不相同的數字,輸出由其中三個重複數字組成的排列。

import java.util.Scanner; import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); i

JMeter實現唯一引數生成重複時間戳

現象: 使用jmeter做介面壓測時,總會遇到壓測時,提示不允許重複id或提示訂單不允許重複現象,那麼如何解決呢? 原料工具 jmeter4.0 本地準備好介面服務 思路: 單個介面,小批量介面,一般以時間戳或者是日期格式的資料作為介面測試引數,解決引數化問題; 大批量介面壓