随机函数rand()算法
今天学习了一下随机函数rand的算法。
这个算法叫做线性同余算法(linear congruential generator (LCG))。
不同的编译器取的常数不同,可以参考wiki:http://en.wikipedia.org/wiki/Linear_congruential_generator
以下程序可以输出和系统一样的随机数。
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 5 #define _A 214013LL 6 #define _B 2531011LL 7 8 9 int a; 10 11 12 void mysrand(int x) 13 { 14 a = x; 15 } 16 17 18 int myrand() 19 { 20 return ((a = a * _A + _B)>>16) & 0x7fff; 21 } 22 23 24 int main() 25 { 26 mysrand(0); 27 srand(0); 28 while (1) 29 { 30 printf ("%d, %d\n", rand(), myrand()); 31 getchar(); 32 } 33 return 0; 34 }
转载于:https://www.cnblogs.com/lzsz1212/p/4132594.html
随机函数rand()算法相关推荐
- 如何把wps随机数据固定_WPS Excel:巧用随机函数rand和randbetween生成各种数据
原标题:WPS Excel:巧用随机函数rand和randbetween生成各种数据 rand和randbetween函数的本职工作是产生随机小数和随机整数.然而,应用巧妙的话,还可以获取随机姓名.随 ...
- 用函数计算机玩游戏,2017年计算机等级考试二级C++辅导:随机函数rand()的猜数字游戏...
突然遇到了随机函数的问题,那出来和大家分享一下 : srand():用此函数来获取随机数的种子,rand()来获取随机数; rand和srand的用法 首先我们要对rand&srand有个总体 ...
- matlab随机函数rand取值范围,Matlab随机函数rand使用中应注意的问题
matlab随机函数rand使用中应注意的问题 (1). rand产生的是0到1(不包括1)的随机数. Matlab的rand函数生的是伪随机数,即由种子递推出来的,相同的种子,生成相同的随机数. M ...
- c语言设置随机函数,C语言随机函数(c语言随机函数rand怎么用)
就像是楼上写的 通常随机函数rand() 带有时间种子的随机函数srand(time(0))在用rand()实现.记住加相关头文件 它的返回值就是求取随机的值,所以如果没有对数有要求,直接这样定:pr ...
- 随机函数rand()[c++]
一.C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过.但在C语言中int random(num)可以这样使用,它返回的是0至num-1的 ...
- c语言随机字符rand,c语言随机函数rand()怎么使用
原发布者:gw_210用c语言产生随机数rand() 在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某 ...
- linux c 随机函数 rand srand 介绍
一.在使用rand()产生随机数时,产生的是0~RAND_MAX(该值与平台有关,至少为32767,我下面测试的平台是0x7fffffff),之间的随机数,但其产生的随机数时伪随机数,默认随机数种子为 ...
- C++中随机函数rand()和srand()的用法
一.rand() 函数名: rand 功 能: 随机数发生器 用 法: int rand(void); 所在头文件: stdlib.h 函数说明 : rand()的 ...
- rand()函数100000随机数_利用随机函数Rand、Randbetween制作抽奖器应用技巧解读
在Excel系统中,随机数函数有两个,分别为Rand和Randbetween,其作用也是不相同的,Rank函数的作用为生成0-1之间的随机数,而Randbetween函数的作用为生成指定范围内的随机数 ...
最新文章
- 610D - Vika and Segments(线段树+扫描线+离散化)
- java 折半_折半算法
- 汇编语言_实验九_根据材料编程
- 使用amaze ui的分页样式封装一个通用的JS分页控件
- python源码精要(5)-C代码规范
- 数据结构实验之图论九:最小生成树_每天5分钟用C#学习数据结构(25)图 Part 6
- 你在使用Gmail,Wallop,MSN Spaces,Three Degrees吗?
- VMware VDI部署攻略之四:域用户配置及验收
- 2018 KubeCon + CloudNativeCon完美落幕,行云献力
- linux如何建立隐藏目录,【Linux】文件与目录的默认权限与隐藏权限
- 谷歌“夜莺计划”秘密采集数百万美国人健康隐私;联发科首款7nm产能的5G芯片;2019年天猫双11落幕,最终成交额2684亿……...
- 2017 到 2018,PWA 技术到底经历了什么
- git 命令详解和Android Studio代码管理工具
- 软件项目管理案例教程(第3版)复习内容
- cocos2dx fnt字体制作
- 何宾 单片机原理及应用_单片机原理及应用课后答案讲解
- js实现简单的点名器随机色
- angular中的变更检测机制
- Minecraft 1.12.2模组开发(十九) 自定义3D物品模型
- 进程创建-终止-等待-替换
热门文章
- Web前端开发面试题---HTML+CSS
- [HDU3691 Nubulsa Expo]
- Docker+Jenkins+Gitlab+Django应用部署实践
- git合并指定文件到另一分支
- NVIDIA | 一种重建照片的 AI 图像技术
- 从零开始编写自己的C#框架(25)——网站部署
- 探索ASP.NET MVC5系列之~~~6.Session篇(进程外Session)
- warning: incompatible implicit declaration of built-in function ‘exit’
- 题解西电OJ (Problem 1008 - 数星星)
- link time code generation