• rand srand


    题外:先定义一个指针变量int *a; 再将整数b的地址赋给指针变量 a=&b ;    谨记指针变量a只是地址 *a相当于整数

    之后*a 就可以表示 指向b了

    也可以在定义的时候初始化 int *a=&b;

    int q=2;
    _p=&q; 此时*_p 和q 都为2
    *_p=1;因为*_p是指向存储q的地址的  所以*_p的值发生改变q也改变 

    rand()产生一个0~32767之间的伪随机数。而srand(unsigned t)是为rand()产生伪随机数下一个“种子”。
    所谓“种子”就是给伪随机发生器赋一个初值,因为如果初值一样,后面产生的伪随机数的规律也就一样,达不到“随机”的目的。
    (因为后面的数是通过递推得到)所以srand(unsigned t)一般是用机中的实时时间来启动的,
    因为实时时间的值每时每刻都在变化,这样启动的rand()函数产生的伪随机数序列就能达到以假乱真的效果

    #include "stdio.h"
    #include <stdlib.h>
    #include "windows.h"
    #include <conio.h>
    #define RAND_MAX 0x7fff///这个是bcc55中的定义,说明这个整数的最大数是0x7fffu,u代表unicode编码,0x代表16进制 7FFF=15*16^0+15*16^1+15*16^2+7*16^3=32767

    int main()
    { int m=60,n=10,ans=0;
    srand((unsigned)GetCurrentTime();// //加了这个才正直随机, 头文件是windows.h
    for(int i=0;i<10;i++)
    {
    printf(" %4d",rand()*(m-n)/RAND_MAX+n);//n<=x<m的数字
    }
    getch();
    }

    #include <stdio.h>
    #include <iostream>
    #include <ctime>
    #include <cstdlib>
    using namespace std;
    #define MAX 10    //定义了最大值
    int main()
    {
    srand( (unsigned)time(NULL ) );//srand()函数产生一个以当前时间开始的随机种子.应该放在for等循环语句前面 不然要很长时间等待
    for(int i=0;i<10;i++)
    cout<<rand()%MAX<<endl;//MAX为最大值,其随机域为0~MAX-1  其中的一种输出方式
    return 0;
    }

    
    

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main(){
    srand(1);///另一种方式,srand( (unsigned)time( NULL ) );//srand()函数产生一个以当前时间开始的随机种子.应该放在for等循环语句前面 不然要很长时间等待
    for(int i=0;i<10;i++){
    int ran_num=rand() % 6;
    printf("%d",ran_num);
    }
    }

    rand()函数不接受参数,默认以1为种子(即起始值)。 随机数生成器总是以相同的种子开始

    函数srand(),可以指定不同的数(无符号整数变元)为种子。但是如果种子相同,伪随机数列也相同。一个办法是让用户输入种子,但是仍然不理想。

    这样,如果你要产生0~10的10个整数,可以表达为: 
    int N = rand() % 11; 
         这样,N的值就是一个0~10的随机数,如果要产生1~10,则是这样: 
    int N = 1 + rand() % 10; 
    总结来说,可以表示为: 
    a + rand() % n
    若要0~1的小数,则可以先取得0~10的整数,然后均除以10即可得到随机到十分位的10个随机小数,若要得到随机到百分位的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依此类推。
     
    要取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a  
  • 相关阅读:
    关于 __proto__和prototype的一些理解
    使用siege进行web压力测试
    Access denied for user 'root'@'localhost' (using password: YES)
    博客搬家来咯
    Permutation Transformer【Splay】
    Prime Independence 【LightOJ
    Power Sockets【CF 1469F】【线段树+贪心】
    A Bit Similar【CF 1469E】【unordered_map+bitset】
    brz的树【牛客练习赛72 F】【虚树+dfs序可持久化线段树+树上差分】
    CCA的期望【牛客练习赛74】【数学】
  • 原文地址:https://www.cnblogs.com/wshyj/p/6056277.html
Copyright © 2020-2023  润新知