码迷,mamicode.com
首页 > 其他好文 > 详细

一个可以生成不重复随机数的函数(1~INF)

时间:2016-09-12 20:26:49      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <cstring>
 4 #include <queue>
 5 #include <set>
 6 #include <cmath>
 7 #include <time.h>
 8 #include <cstdlib>
 9 #include <algorithm>
10 using namespace std;
11 
12 const int N = 1000007;
13 const int INF = 0x7fffffff;
14 
15 inline int ran(){
16     static int seed = 703; //seed可以随便取
17     return seed = int(seed * 48271LL % INF);
18 }
19 
20 set<int> s;
21 
22 int main()
23 {
24     while (1)
25     {
26         s.clear();
27         int flag = 1;
28         for (int i = 0; i < INF / 1000; i++)
29         {
30             int t = ran();
31             if (s.find(t) == s.end())
32                 s.insert(t);
33             else
34             {
35                 flag = 0;
36                 break;
37             }
38         }
39         if (flag)
40             printf("YES\n");
41         else
42             printf("NO\n");
43     }
44     return 0;
45 }

 

一个可以生成不重复随机数的函数(1~INF)

标签:

原文地址:http://www.cnblogs.com/burning-flame/p/5865976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!