zoukankan      html  css  js  c++  java
  • rand srand产生伪随机数方法总结

    标准库<cstdlib>(被包含于<iostream>)提供两个生成伪随机数的函数。

    函数一:int rand(void);// 整数型 取随机数()

    从srand()中指定的seed开始,返回一个[seed,RAND_MAX(0x7fff)]间的随机整数

    函数二:void srand(unsigned seed);//置随机数种子

    参数seed是rand()的种子,用于初始化rand()的起始值。

    rand()调用步骤:

    (1)若有srand(seed) ,seed是一个定值时,rand()产生的值都会一样;seed不是定值每次程序运行rand()产生的值不一样。

    (2)没有 会自动调用srand(1)一次。

    实例:

    1,不指定seed

    for(int i=0;i<10;++i){
      cout<<rand()%10<<" ";}

    每次运行输出:1 7 4 0 9 4 8 8 2 4

    2,指定seed为定值1:

    srand(1);

    for(int i=0;i<10;++i){
      cout<<rand()%10<<" ";}

    每次运行输出:1 7 4 0 9 4 8 8 2 4

    3,指定seed为当前系统时间时:time(0)它返回从1970年1月1日零时零分零秒到目前为止所经过的时间,单位为秒。

     srand(time(0));
     for(int i=0;i<10;++i){
      cout<<rand()%10<<" ";}

    每次运行输出不同。

    若返回随机浮点数:用rand()/double(RAND_MAX)可以取得0~1之间的浮点数(注意,不同于整型时候的公式,是除以,不是求模)

  • 相关阅读:
    P1121 环状最大两段子段和
    无题
    cdoj 1485 柱爷搞子串 sam treap
    自然数幂和
    Gym 100341C AVL Trees NTT
    线性筛分解质因子
    codeforces 366 Ant Man dp
    UVALive 6914 Maze Mayhem 轮廓线dp
    hdu 5790 Prefix 字典树 主席树
    莫比乌斯反演个人小结
  • 原文地址:https://www.cnblogs.com/relaxgirl/p/2940427.html
Copyright © 2011-2022 走看看