vb中产生随机数经典实例分析

简介:   这个例子算是比较经典的吧,通过分析整个例子从中学习一些新的思维方式。  当然在此之前老师讲过多次这个例子,但是我们大多数同学还都做不出来。原因就是我们没有及时总结,于是今天下午用了一下午的时间总结这个例子。

  这个例子算是比较经典的吧,通过分析整个例子从中学习一些新的思维方式。

  当然在此之前老师讲过多次这个例子,但是我们大多数同学还都做不出来。原因就是我们没有及时总结,于是今天下午用了一下午的时间总结这个例子。说实话对于我来说还是挺有挑战性的,但是凭着老师讲的次数比较多还是做出来了。

  下面是我整理的思路

  (一)定义变量

  (二)产生随机数

(1)先产第一个随机数

   (2)产生其他随机数

  (3)判断是否重复并做好标记

  (4)如果重复就舍弃当前产生的这个数,再重新产生一个

  (5)知道产生的数都不重复,将所有的数输出

  

(三)找出最大数

  其中老师最为强调的就是要必须找到每个程序的程序“眼”,也就是下手点或者突破点,这个例子中“眼”就是先要产生第一个数。因为第一个数绝对没有重复的,特殊情况特殊处理,而后面的数都要跟前面的比较,看看是否重复。第一个解决了后面也就迎刃而解了。


  这个例子还有他最大的亮点就是先做标记最后再统一处理。逻辑性比较强而且便于理解,像这种具有代表性的例子以后要及时总结及时消化!

目录
相关文章
|
算法 安全 量子技术
【Python】蒙特卡洛模拟 | PRNG 伪随机数发生器 | 马特赛特旋转算法 | LCG 线性同余算法 | Python Random 模块
【Python】蒙特卡洛模拟 | PRNG 伪随机数发生器 | 马特赛特旋转算法 | LCG 线性同余算法 | Python Random 模块
356 0
|
7月前
|
算法 BI C++
[第四章]枚举与模拟
[第四章]枚举与模拟
70 1
|
7月前
|
JavaScript Python
对函数的理论说明(数学转换代码)
对函数的理论说明(数学转换代码)
54 0
|
7月前
|
机器学习/深度学习 人工智能 算法
算法02-入门算法枚举与模拟算法
算法02-入门算法枚举与模拟算法
|
7月前
|
监控
画图解释FHSS、DSSS扩频原理以及计算规则
画图解释FHSS、DSSS扩频原理以及计算规则
390 0
成信大ENVI_IDL第一周实验测试:数组的简单运算+详细解析
成信大ENVI_IDL第一周实验测试:数组的简单运算+详细解析
93 0
|
算法
零基础VB教程022期:数值分解算法技巧
零基础VB教程022期:数值分解算法技巧
120 0
零基础VB教程020期:for循环的经典运用
零基础VB教程020期:for循环的经典运用
104 0
|
数据安全/隐私保护
【数字IC手撕代码】Verilog伪随机数生成器|线性反馈移位寄存器|题目|原理|设计|仿真
【数字IC手撕代码】Verilog伪随机数生成器|线性反馈移位寄存器|题目|原理|设计|仿真
【数字IC手撕代码】Verilog伪随机数生成器|线性反馈移位寄存器|题目|原理|设计|仿真
|
算法 安全 PHP
【高级软件实习】蒙特卡洛模拟 | PRNG 伪随机数发生器 | LCG 线性同余算法 | 马特赛特旋转算法 | Python Random 模块
本篇博客将介绍经典的伪随机数生成算法,我们将 重点讲解 LCG(线性同余发生器) 算法与马特赛特旋转算法,在此基础上顺带介绍 Python 的 random 模块。 本篇博客还带有练习,无聊到喷水的练习,咳咳…… 学完前面的内容你就会了解到 Python 的 Random 模块的随机数生成的实现,是基于马特赛特旋转算法的,比如 random_uniform 函数。而本篇博客提供的练习会让你实现一个基于 LCG 算法的random_uniform,个人认为还是比较有意思的
574 0
【高级软件实习】蒙特卡洛模拟 | PRNG 伪随机数发生器 | LCG 线性同余算法 | 马特赛特旋转算法 | Python Random 模块