c++用中心极限定理产生正态随机数.txt

来自「教你怎么用C++产各种各样的随机数」· 文本 代码 · 共 30 行

TXT
30
字号
           #include<iostream.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#include<windows.h>

#define rand_max 2000
#define m   13
SYSTEMTIME t;

double myRand(){
        double X=0.0;
        for(int i=0;i<m*m;i++)X+=(double)(rand()%2);
        return (2*X-m*m)/m;
}

void main(){
        double x[rand_max];double mean=0;double s=0;double C=0;
        ::GetSystemTime (&t);
        srand(t.wMilliseconds);

        for(int i=0;i<rand_max;i++)x[i]=myRand();
        for(int i=0;i<rand_max;i++){mean+=x[i];}
        for(int i=0;i<rand_max;i++){s+=(x[i]-mean)*(x[i]-mean);}
        C=mean/sqrt(rand_max*s);
        cout<<"Total :"<<x[0]<<endl;
        cout<<"S   =  "<<s<<endl;
        cout<<"C   =  "<<C<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?