将1到100这个100个自然数, 随机放入一个长度为100的int数组中, 并且不能重复:

    class Program{static void Main(string[] args){int[] num = new int[100];int index01;int index02;int tmp;for (int i=0; i<100; i++){num[i] = i+1;}for(int i=0; i<100; i++){index01 = GenerateRandom()%100;do{index02 = GenerateRandom() % 100;} while (index01 == index02);tmp = num[index01];num[index01] = num[index02];num[index02] = tmp;}for (int i = 0; i < 100; i++){Console.WriteLine(num[i]);}Console.ReadKey();}private static int GenerateRandom(){int seed = GetRandomSeed();return new Random(seed).Next();}/// <summary>/// 生成随机种子/// </summary>/// <returns></returns>private static int GetRandomSeed(){byte[] bytes = new byte[4];System.Security.Cryptography.RNGCryptoServiceProvider rng= new System.Security.Cryptography.RNGCryptoServiceProvider();rng.GetBytes(bytes);return BitConverter.ToInt32(bytes, 0);}}

转载于:https://www.cnblogs.com/brightgalaxy/p/7533831.html

基于RNGCryptoServiceProvider的洗牌算法相关推荐

  1. 游戏洗牌算法——常用+详解最优Knuth_Durstenfeld算法

    目录 前言 基于Unity的洗牌算法代码实现 内容 抽牌洗牌 原理 复杂度 优缺点 Fisher_Yates算法 原理 复杂度 代码实现 优缺点 Knuth_Durstenfeld算法(最佳洗牌算法) ...

  2. python实现洗牌算法_洗牌算法及 random 中 shuffle 方法和 sample 方法浅析

    对于算法书买了一本又一本却没一本读完超过 10%,Leetcode 刷题从来没坚持超过 3 天的我来说,算法能力真的是渣渣.但是,今天决定写一篇跟算法有关的文章.起因是读了吴师兄的文章 <扫雷与 ...

  3. 这或许是讲解Knuth(Shuffle)洗牌算法最好的文章

    1. 前言 看问题,洗牌,显然是一个随机算法了.随机算法还不简单?随机呗.把所有牌放到一个数组中,每次取两张牌交换位置,随机 k 次即可. 如果你的答案是这样,通常面试官会进一步问一下,k 应该取多少 ...

  4. 随机洗牌算法+matlab,洗牌算法及 random 中 shuffle 方法和 sample 方法浅析

    对于算法书买了一本又一本却没一本读完超过 10%,Leetcode 刷题从来没坚持超过 3 天的我来说,算法能力真的是渣渣.但是,今天决定写一篇跟算法有关的文章.起因是读了吴师兄的文章<扫雷与算 ...

  5. 这或许是讲解 Knuth 洗牌算法最好的文章

    点击蓝色"五分钟学算法"关注我哟 加个"星标",一起学算法 作者 | liuyubobobo 来源公众号 | 是不是很酷 首先来思考一个问题: 设计一个公平的洗 ...

  6. 卡牌大师:玩转“洗牌算法”,幸运女神在微笑 (*^_^*)

    关注并将「趣谈前端」设为星标 每日定时推送技术干货/优秀开源/技术思维 我们目前的世界仍是基于 P ≠ NP,所以有理由相信:只要我们把牌洗的足够乱,幸运女神或许就会降临.(生活就像英雄联盟,运气游戏 ...

  7. 面试官:会玩牌吧?给我讲讲洗牌算法和它的应用场景吧!

    有一次参加面试,面试官问我:"会玩牌吧?" 内心:"咋滴,这是要玩德州扑克(或者炸金花),赢了他就能通过面试么?" 结果-- 没想到面试官的下一句话:" ...

  8. 会排序吗_洗牌算法详解:你会排序,但你会打乱吗?

    预计阅读时间: 8 分钟 我知道大家会各种花式排序,但是如果叫你打乱一个数组,你是否能做到胸有成竹?即便你拍脑袋想出一个算法,怎么证明你的算法就是正确的呢?乱序算法不像排序算法,结果唯一可以很容易检验 ...

  9. 从洗牌算法谈起--Python的random.shuffle函数实现原理

    此文首发于我的个人博客:从洗牌算法谈起–random.shuffle实现原理 - zhang0peter的个人博客 昨天看知乎的时候看到了洗牌算法(Knuth shuffle, 最初版本叫Fisher ...

最新文章

  1. fpga如何约束走线_FPGA中的CLOCK REGION和SLR是什么含义
  2. 在Horizon Workspace中配置Windows单点登录-进阶篇
  3. 【Java 网络编程】TCP 服务器端 客户端 简单示例
  4. Google V8 编译方法(visual c++ 2008 express)(学习+原创)
  5. OpenFiler 配置iscsi共享式存储
  6. html入门学习(一)
  7. 数据库内部存储结构探索
  8. Log4J入门教程(三) web项目的log4j配置
  9. 为什么很多大老板银行贷款几千万,看起来还那么潇洒?
  10. Spring Boot YAML配置
  11. Java工作笔记-生成及解析Json字符串
  12. python 取值范围的命令_python获取命令行参数的方法
  13. BZOJ4415: [Shoi2013]发牌
  14. 解决Windows应用程序Side-by-Side错误
  15. python如何发布项目_python如何发布自已pip项目的方法步骤
  16. android 遍历短信,Android通过for循环批量发送短信
  17. android自动调节亮度是怎么实现的,Android亮度调节的几种实现方法
  18. HTTP和MQTT协议实践
  19. ubuntu解决 Can‘t locate Time/HiRes.pm in @INC 安装Time::HiRes教程
  20. tcprewrite批量修改报文ip地址一

热门文章

  1. python json.dumps 中的ensure_ascii 参数引起的中文编码问题
  2. Qt实践录:非窗体代码片段
  3. 一台新云主机nodejs项目部署过程
  4. 【java】java 并发编程 Condition 源码分析
  5. 【Elasticsearch】腾讯万亿级 Elasticsearch 内存效率提升解密 源码级别 性能优化
  6. 【java】java 命令 Unable to open socket file: target process not responding or HotSpot VM not loaded
  7. 【es】es API源码分析
  8. 95-50-050-java.nio.channels-NIO-NIO之Channel(通道)
  9. spark学习-43-Spark的BlockManager
  10. Tshark的使用问题