社区
C#
帖子详情
C#中是怎样来处理随机数的?
heavenkiller
2003-07-22 10:35:03
C#中是怎样来处理随机数的?希望各位多多指教!
...全文
20
7
打赏
收藏
C#中是怎样来处理随机数的?
C#中是怎样来处理随机数的?希望各位多多指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
forever_chang
2004-01-26
打赏
举报
回复
Random objRand = new Random();
int nRand = objRand.Next(1,99999) //得到1~~~99999之间的一个随即数
注意返回值的范围是大于等于1,小于99999
pigpag
2003-07-23
打赏
举报
回复
还有rnd.NextDouble,看你的需要
yaohangnet
2003-07-23
打赏
举报
回复
ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfSystemRandomMembersTopic.htm
WantGoWorld
2003-07-23
打赏
举报
回复
Random objRand = new Random();
int nRand = objRand.Next(1,99999) //得到1~~~99999之间的一个随即数
chagel
2003-07-22
打赏
举报
回复
还是自己去看帮助文档吧
给个Random.NextBytes 方法 [C#]示例:
Random rnd = new Random();
Byte[] b = new Byte[10];
rnd.NextBytes(b);
Console.WriteLine("The Random bytes are: ");
for (int i = 0; i < 10; i++) {
Console.Write(i);
Console.Write(":");
Console.WriteLine(b[i]);
}
heavenkiller
2003-07-22
打赏
举报
回复
能不能说得更详细一点?
saucer
2003-07-22
打赏
举报
回复
System.Random class
C#
控制台应用程序——
随机数
这是老师做过的一个项目,抽取了当中核心之一的内容给大家试试,有些难度。 1、实验目的 1)掌握
C#
命令行参数的接收; 2)掌握
C#
中的泛型用法; 3)掌握
C#
的基本流程语句; 4)掌握
C#
的
随机数
生成; 5)了解
C#
的异常
处理
流程; 6)掌握
C#
的计时器及对代码的性能优化。 7)本实验注重算法实现,在实现功能的前提下,尽量优化计算速度。 2、实验要求 这是一个实际的项目衍生出来的核心算法之一。防伪码是我们现在经常在商品上看到的防伪手段之一,现在需要编写一个防伪码生成器,按照输入参数生成防伪码,并且把生成的时间及指定的防伪码输出。 1)防伪码的组成 防伪码由以下字符组成:0123456789ABCDEFGHJKLMNPQRSTUVWXYZ (数字1和字母I相近、数字0和字母O相近,所以去掉字母I和字母O。全部字母大写) \ 2)在命令行中输入2个参数,分别是: 防伪码长度 防伪码个数 例如:在命令行中调用程序为:学号.exe 10 10000 指的是防伪码长度为10,生成10000个防伪码。 3)防伪码的生成及注意事项 防伪码的长度由命令行参数决定; 所生成的防伪码不能重复(按照以上例子,生成了10000个防伪码,这10000个防伪码就肯定不能重复)。 3、提交内容 1)请把整个项目源代码压缩为RAR文件进行提交 2)运行: a) exe 10 10000 b) exe 20 1000000 c) exe 50 1000000 (即防伪码长度为10,10000个;长度为20,一百万个;长度为50,一百万个)共三个测试用例,记下时间,贴在“自评备注”中,格式如下: a) 时间;b) 时间;c) 时间 下面可以写写自己的感想等 4、实验评分 程序能运行,按照全部要求实现:A及以上 程序能运行,但有Bug的(指生成重复的防伪码等):B 程序不能运行,但有思路的:C及以下 0:发现抄袭行为,本次实验0分,累计两次,平时成绩0分。 额外要求:代码命名必须有一定规范、代码格式必须靓仔,歪歪扭扭的扣分。 5、采用的函数及思路 1)开发时,在解决方案中,鼠标右键选择项目,然后点选“属性”,在“调试”项目中的“命令行参数”里面,可以预先输入需在命令行接收的参数,这样开发的时候就可以直接读入了。注意,不用对这些参数进行校验,默认输入的都是正确的参数,注意程序运行时的异常
处理
。 2)程序运行计时 在最上面加入using System.Diagnostics; 在程序头加入: Stopwatch timer1 = new Stopwatch();//计时器类 timer1.Start();//开始计时 在程序最尾加入: timer1.Stop();//停止计时 double dMilliseconds = timer1.Elapsed.TotalMilliseconds; Console.WriteLine("生成个数为:{0},运行时间为:{1}", icount, dMillisecondes); Console.ReadKey(); Stopwatch是
C#
一个类似秒表的东西,用来计算程序的运行时间,注意,必须按照要求,计时器在程序运行时就要开启,在结束时停止并输出结果,不能放置在其他地方。 3)防伪码生成思路 例如,有以下定义: string strTableChar = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ"; 生成一个从0到strTableChar.Length的数字a,然后使用strTableChar[a]就可以随机返回一个字母,重复n次(n等于防伪码的长度),这样就可以组合到一串随机字符串,也就是防伪码了。 6、思路及技巧 1)
随机数
生成:种子的选择问题,可用默认的、GUID、RNGCryptoServiceProvider等等作为
随机数
种子…… 2)怎么样保证,新生成的防伪码和以生成的防伪码有没有重复? 3)stringBuilder的用法,试试用string和stringBuilder有什么不同?听听老师的课…… 4)多次运行程序后,会不会发现程序运行速度会加快?看看这里:《告诉一个不一样的.NET Framework字符串驻留》,另外也可以找找对应.NET Framework底层实现的文章。
随机生成的帮助类
C#
实现
随机数
是在一定范围内以无序方式生成的数字。计算机中生成的
随机数
通常是伪
随机数
,即通过确定性的算法生成的看似无序的数字序列。 生成伪
随机数
的过程基于种子值和
随机数
生成算法。种子值是作为生成算法的输入的起始值,不同的种子值会产生不同的
随机数
序列。而
随机数
生成算法则根据种子值计算出下一个
随机数
,并将其作为新的种子值继续计算后续的
随机数
。 常见的
随机数
生成算法有以下几种: 1. 线性同余发生器(Linear Congruential Generator, LCG):通过线性方程的递归迭代来生成
随机数
。 2. 梅森旋转算法(Mersenne Twister):使用位运算和旋转操作来生成高质量的伪
随机数
。 3. 哈希函数:将给定输入通过哈希算法
处理
,输出的结果被认为是随机的。 4. 物理
随机数
发生器:利用物理过程中的不可预测性,如大气噪声、热噪声等来生成
随机数
。 在计算机中,
随机数
通常是从一个初始种子开始生成的。如果种子值相同,那么生成的
随机数
序列也将相同。为了获得更加随机的结果,我们可以使用当前时间、硬件指纹或其他随机事件作为种子值,使得每次生成的
随机数
序列都不同。
C#
科学计算讲义
C#
科学计算讲义-宋叶志-人民邮电出版社 内容概要 《
C#
科学计算讲义》较为详细地介绍了科学计算方法,并对算法给出了源代码。关于算法部分主要介绍了线性方程组的迭代解法与直接解法、正交变换与最小二乘计算方法、鲁棒估计、
随机数
的产生、插值法、非线性方程求解、多元非线性最优化算法、微分方程数值方法等内容。 本书还给出了
C#
程序设计的基本方法,并对科学计算中要用到的矩阵向量类的构造做了详细阐述。算法的实现本身不限于具体的语言,本书对于算法的描述是较为详细的,所以读者也很容易把算法改用Fortran、 MATLAB、C++、Java 等语言编程实现。 宋叶志、徐导和何峰编著的《
C#
科学计算讲义》适合作为大学理工科本科生或研究生计算方法、数值分析课程的教材或参考书。对于从事相关学科教学的教师,如果不熟悉现代编程语言,也可以选择本书作为工具书。本书还可以用作科研人员的工程计算工具书与算法集。另外,在一些需要进行数据
处理
与分析的公司,如数量金融、统计等行业,也可以选用本书作为培训教材,或直接应用书上的源代码进行软件开发。 书籍目录 第1章
C#
程序设计基础 1.1 计算机、程序设计与算法 1.1.1 计算机结构 1.1.2 操作系统 1.1.3 机器语言与高级语言 1.1.4 程序设计与算法 1.2
C#
历史与概述 1.2.1 C语言:结构化编程语言的高峰 1.2.2 C++语言: 面向对象与大型程序 1.2.3 Java语言:可移植、安全性与Internet 1.2.4
C#
: .NET主打语言 1.3 集成开发环境介绍 1.4 面向对象程序设计 1.4.1 封装 1.4.2 多态 1.4.3 继承 1.5 数据类型与运算符 1.5.1 简单数据类型 1.5.2 数组 1.5.3 运算符 1.5.4 赋值运算符 1.6 程序控制结构 1.6.1 顺序结构 1.6.2 分支结构 1.6.3 循环结构 1.6.4 控制结构的嵌套 1.7 类的设计及对象实现 1.7.1 定义类 1.7.2 创建对象 1.7.3 方法 1.7.4 构造函数 1.7.5 析构函数与垃圾回收 1.8 运算符重载及索引器 1.8.1 运算符重载 1.8.2 索引器 1.8.3 面向对象思想在
C#
程序设计中的重要性 1.9 GUI编程 1.10 本章小结 第2章 线性方程组迭代解法 第3章 线性方程组的直接解法 第4章 正交变换与最小二乘计算方法 第5章 鲁棒估计 第6章
随机数
第7章 插值法 第8章 非线性方程数值解法 第9章 非线性最优化 第10章 常微分方程(组)的数值方法 附录A
C#
数值代数类的抽象与设计 附录B 动态链接库与混合编程 B.1 静态链接库与动态链接库 B.2
C#
调用Fortran动态链接库范例 B.3 调用可执行函数 附录C Linux下
C#
开发与跨平台编程介绍 C.1 Mono简介 C.2 Linux下
C#
IDE开发范例 参考文献
30个
C#
小程序学习
C#
的基
30个
C#
小程序:
c#
.net常用函数和方法集
C#
对注册表的操作 choosesubject n个数排序 unknown 猜数字 猜数字个人版 词频统计 第二种方法求一系列数的和 递归方法求阶乘字符串反转 订票 发奖学金 构造函数属性 关闭特定程序 何意数排序 加密 解一元二次方程的解 九九乘法表 矩形 矩阵相乘-改进加入异常
处理
矩阵相乘 利用列表排n个数的序 判断是否为汉字 棋盘 求N个数的阶乘 求次幂的简便方法 求和平均值 求阶乘 求平均成绩 求平均成绩使用二维数组 求三阶行列式的值 求素数 求素数最简单 求一系列数的和 求一系列整数的和 求质数 三个数排序 三个数最大数 身份验证 十进制转换成二进制 实时获取CPU使用率 实现关机-危险勿试 实现一个数的N次方 输出素数 输出
随机数
输出图形 宿舍值日 验证概率 一到一百之间的素数 以二进制读取文本文件 朦胧诗
string
处理
类大全,asp.net
C#
开发实用
简介: 方法包括 构建SQL条件语句,用于简单构造 按当前日期和时间生成
随机数
生成0-9
随机数
通过RNGCryptoServiceProvider 生成
随机数
0-9 数据验证大全 将全角数字转换为数字 判断指定字符串在指定字符串数组中的位置 判断指定字符串是否属于指定字符串数组中的一个元素 分割字符串 删除字符串尾部的回车/换行/空格 从字符串的指定位置截取指定长度的子字符串 .... 太多了.下载下来直接使用. asp.net
C#
开发实用
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章