标签:含义 cimage 输出 dom 时钟 递推公式 img 调用 文件
参考原文地址:https://www.cnblogs.com/afarmer/archive/2011/05/01/2033715.html
计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生的每个小序列都有一个初始值,即随机种子(即根据某一个初始值代入某个公式产生一系列值),注意:小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后,它们又会重复出现。
我们知道rand()函数可以用来产生随机数,但这不是真正意义上的随机数,而是一个伪随机数,是根据一个数(我们称之为种子)为基准以某个递推公式算出来的一系列数,当这系列数很大时,就符合正态分布,从而相当于产生了随机数,但这不是真正意义上的数,当计算机正常开机后,这个种子的值是定了的,所以随机数也是定了的,除非你破坏了系统。
#include<iostream>
#include<cstdlib>
#include<ctime>
//#define random(a,b) (rand()%(b-a+1)+a)
using namespace std;
int main()
{
// srand((int)time(NULL));
for(int i=0;i<10;i++)
cout<<rand()<<‘ ‘;
cout<<endl;
// for(int i=0;i<10;i++)
// cout<<random(1,100)<<‘ ‘;
return 0;
}
结果:没有用srand()初始化每次运行都是下面那一系列数
srand()初始化
#include<iostream>
#include<cstdlib>
#include<ctime>
//#define random(a,b) (rand()%(b-a+1)+a)
using namespace std;
int main()
{
srand((int)time(NULL));
for(int i=0;i<10;i++)
cout<<rand()<<‘ ‘;
cout<<endl;
// for(int i=0;i<10;i++)
// cout<<random(1,100)<<‘ ‘;
return 0;
}
结果:每次运行产生的一系列数都不同
#include<iostream>
#include<cstdlib>
#include<ctime>
#define random(a,b) (rand()%(b-a+1)+a)
using namespace std;
int main()
{
srand((int)time(NULL));
for(int i=0;i<10;i++)
cout<<rand()<<‘ ‘;
cout<<endl;
for(int i=0;i<10;i++)
cout<<random(1,100)<<‘ ‘;
return 0;
}
结果:
以上
标签:含义 cimage 输出 dom 时钟 递推公式 img 调用 文件
原文地址:https://www.cnblogs.com/qiulinzhang/p/9513673.html