精华内容
下载资源
问答
  • 产生不重复的随机数

    2017-09-27 10:45:40
    声明: 仅个人小记效果展示连续运行三次的结果代码部分#include #include ... 产生不重复的随机数 输入: a[] 一维数组, length 指定数组a的长度 输出: a 中为0~length的所有值随机乱序存放 思想:

    声明: 仅个人小记

    效果展示

    连续运行三次的结果

    这里写图片描述

    这里写图片描述

    这里写图片描述

    代码部分

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #define N 100
    
    
    /*
        功能: 
            产生不重复的随机数
        输入: a[]  一维数组,  length 指定数组a的长度
    
        输出: a 中为0~length的所有值随机乱序存放 
    
        思想: 本来是按序放置的0~length数表,我们随出一个随机数作为交换次数,对该数表中数据进行交换 
    
    
    */
    void nonredundantRandomNumber(int a[], int length) // 不重复的随机数 
    {
        int i, k, t, times;
        for (i = 0; i < length; ++ i) 
            a[i] = i;
    
        times = rand()%length; // 这个随机值指定交换次数 
        for (i = 0; i < times; i ++) {
            k = rand()%length;
            t = a[i];
            a[i] = a[k];
            a[k] = t;
        }
    
        return;
    }
    
    int main(void)
    {
        int a[N];
    
        srand(time(NULL)); 
        nonredundantRandomNumber(a,N);
    
        // 下面是输出显示结果 
        for (int i = 0; i < N; ++ i) {
            printf("%2d ",a[i]);
            if ((i+1)%10 == 0) printf("\n");
        }
    
        return 0;
    }
    展开全文
  • C#产生不重复的随机数.txt
  • 下面就来讲解三种方法产生不重复的随机数,并进行比较,看那种方法效率高。方法一 思路:首先创建一个1到3000的数组,每次取一个数,然后去除数组中取出的这个数, 这样就可以实现永不重复。 代码如下: [removed] ...
  • java代码产生不重复的随机数,有用处,可以参考!
  • 如何产生不重复的随机数

    千次阅读 2017-08-04 00:05:41
    package 如何产生不重复的随机数; import java.util.Random; public class Rand { public static void main(String[] args) { //产生随机数的类 Random random = new Random(); // 装随机数的数组 10个整数...
    package 如何产生不重复的随机数;
    
    import java.util.Random;
    
    public class Rand {
    	public static void main(String[] args) {
    		//产生随机数的类
    		Random random = new Random();
    		// 装随机数的数组 10个整数
    		int[] num = new int[10];
    		// 临时存放产生的一个随机数
    		int ret = 0;
    		// 定义标志位,flag=false代表数组中无重复数,true代表有重复数
    		boolean flag = false;
    		
    		for (int i = 0; i < num.length;) {
    			// 产生随机数
    			ret = random.nextInt(100)+1;
    			
    			// 循环检测该随机数是否与数组中的数重复
    			for (int j = 0; j < num.length; j++) {
    				// 如果存在重复,标志位变为true,并且break退出循环检测
    				if (ret == num[j]) {
    					flag = true;
    					break;
    				} else {
    					flag = false;
    				}
    			}
    			// 如果检测完无重复数据,则将产生的随机数存入数组中,并且数组下标计数加1
    			if (!flag) {
    				num[i] = ret;
    				i++;
    			}
    		}
    		
    		for(int i=0;i<num.length;i++) {
    			System.out.println(num[i]+" ");
    		}
    		// 循环输出产生的随机数
    		/*for (int i : num) {
    			System.out.print(i + " ");
    		}*/
    	}
    }

    展开全文
  • WPF产生不重复的随机数 在给定的区间范围(比如[50,99]),产生给定数量的随机数(不如10个),要求产生的随机数不重复首先给定变量min=50;max=99+1;//习惯与程序规定的编码不同所致n=10;好了,上代码1.xaml界面格式...

    WPF产生不重复的随机数

    在给定的区间范围(比如[50,99]),产生给定数量的随机数(不如10个),要求产生的随机数不重复
    首先给定变量
    min=50;
    max=99+1;//习惯与程序规定的编码不同所致
    n=10;
    好了,上代码
    1.xaml界面格式
    <Grid>
            <TextBlock x:Name="tb_Screen" HorizontalAlignment="Left" Margin="59,24,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top"/>
            <Button x:Name="tb_Create" Content="Button" HorizontalAlignment="Left" Margin="144,259,0,0" VerticalAlignment="Top" Width="75" Click="tb_Create_Click"/>
            <TextBox x:Name="txt_min" HorizontalAlignment="Left" Height="23" Margin="80,92,0,0" TextWrapping="Wrap" Text="50" VerticalAlignment="Top" Width="70" RenderTransformOrigin="0.462,2.179"/>
            <TextBox x:Name="txt_max" HorizontalAlignment="Left" Height="23" Margin="257,92,0,0" TextWrapping="Wrap" Text="99" VerticalAlignment="Top" Width="82" RenderTransformOrigin="1.018,0.43"/>
            <TextBlock HorizontalAlignment="Left" Margin="10,95,0,0" TextWrapping="Wrap" Text="min=" VerticalAlignment="Top"/>
            <TextBlock HorizontalAlignment="Left" Margin="186,95,0,0" TextWrapping="Wrap" Text="max=" VerticalAlignment="Top"/>
            <TextBox x:Name="txt_n" HorizontalAlignment="Left" Height="23" Margin="121,149,0,0" TextWrapping="Wrap" Text="10" VerticalAlignment="Top" Width="120"/>
            <TextBlock HorizontalAlignment="Left" Margin="31,152,0,0" TextWrapping="Wrap" Text="数量" VerticalAlignment="Top"/>
    </Grid>
    

      详细说明:http://wp.662p.com/thread-8107-1-1.html

    转载于:https://www.cnblogs.com/meirenjiawen/p/4072793.html

    展开全文
  • * 获取10个1~20之间的随机数,不要重复 * *用数组实现,但是数组的长度是固定的,长度不好确定 *所以我们使用集合 * *分析: * A:创建产生随机数 * B:创建一个存储随机数的集合 * C:定义一个统计变量从0...
    import java.util.ArrayList;
    import java.util.Random;
    
    /*
     * 获取10个1~20之间的随机数,不要重复
     *
     *用数组实现,但是数组的长度是固定的,长度不好确定
     *所以我们使用集合
     *
     *分析:
     *     A:创建产生随机数
     *     B:创建一个存储随机数的集合
     *     C:定义一个统计变量从0开始
     *     D:判断统计变量是否小于10
     *
     *           是:先产生一个随机数,判断该随机数在集合中是否存在。如果不存在,就添加。统计变量++,存储
     *            
     *            否:就退出循环
     *     E:遍历集合       
     *            
     */
    public class 产生随机数不可重复 {
    
    	public static void main(String[] args) {
    		
    		//创建随机数的对象
    		Random r =new Random();
    		
    		//创建一个存储随机数的集合
            ArrayList<Integer> array = new ArrayList<Integer>();
            
            //定义一个变量
            int y = 0;
    	
             while(y<10) {
            	int number = r.nextInt(20)+1;
            	if(!array.contains(number)) {
            		array.add(number);
            		y++;
            	}
             }
             for(Integer s:array) {
            	 System.out.println(s);
             }
    	}     
    }
    
    展开全文
  • C++产生不重复的随机数方法详解 在编写考试题目时,要求在一定范围内随机出题,但是如果按如下的方法设计程序: void shuiji(int min,int max)//从min到max范围内随机出题 { int num=max-min+1; //比如15...
  • 关于产生不重复的随机数,可以用Hashtable的方式,即随机产生一个数就去检测,列表中这个数是否已经存在,然而这种非常耗时。有一篇帖子就是讲如何优化算法...
  • 用法:它初始化随机种子,会提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数,如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复,常常使用系统时间...
  • 引言:很多时候,我们需要产生随机数,但可能考虑的不是特别全面,比如没有考虑如果产生相同的随机数呢(当然前提是我们的程序需求是产生相同的随机数)。二.正文:首先说一个应用场景:比如我们做扫雷游戏的...
  • matlab如何产生不重复的随机数(转)

    千次阅读 2014-01-08 16:41:55
    以下内容来自百度知道 ... matlab如何产生不重复的随机数啊? 2013-07-20 19:27zhuyuefeng2009|分类:其他编程语言|
  • 使用FSO对象的词典,可以利用词典的Exists方法判定新产生的随机数是否已经产生过:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,290
精华内容 516
关键字:

产生不重复的随机数