⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d6r10.cpp

📁 C语言的编程合集!是我自己编的!很有用的!大家可以下载!有意见麻烦大家提出来以便本人及时修改!
💻 CPP
字号:
# include <iostream.h>
# include <math.h>
# include <iomanip.h>

static int irbit1(int& iseed)
{
	int ib1,ib3,ib5,ib14,newbit,temp;
    ib1 = 1;
    ib3 = 4; 
	ib5 = 16;
	ib14 = 8192;
    newbit = -((iseed & ib14 )!=0);
    if ((iseed & ib5) != 0) 
		newbit =~ newbit;
    if ((iseed & ib3) != 0)
		newbit =~ newbit;
    if ((iseed & ib1) != 0) 
		newbit =~ newbit;
    if (iseed > int(pow(2 ,14)))   
		iseed = iseed - int(pow(2 ,14));
    iseed = 2 * iseed;
    if (newbit)
	{
        temp=1;
        iseed = (iseed | ib1);
	}
    else
	{
        temp=0;
        iseed = (iseed & (~ib1));
    }
	return temp;
}

void main()
{
    //program d6r10
    //driver for routine irbit1
    //calculate distribution of runs of zeros
	int nbin,ntries,iseed,i,j,iflg,ipts,n;
	double delay[16];
    nbin = 15;
	ntries = 10000;
    iseed = 12345;
    for (i = 1; i<=nbin; i++)
	{
        delay[i] = 0.0;
    }
    ipts = 0;
    for (i = 1; i<=ntries; i++)
	{
        if (irbit1(iseed) == 1)
		{
            ipts = ipts + 1;
            iflg = 0;
            for (j = 1; j<=nbin; j++)
			{
                if ((irbit1(iseed) == 1) && (iflg == 0))
				{
                    iflg = 1;
                    delay[j] = delay[j] + 1.0;
                }
            }
        }
    }
    cout<<"Distribution of runs of n zeros"<<endl;
    cout<<"    n     probability      expected"<<endl;
	cout<<setprecision(6)<<setiosflags(ios::fixed);
    for (n = 1 ; n<=nbin; n++)
	{
        cout<<setw(5)<<n - 1;
        cout<<setw(15)<<delay[n] / double(ipts);
        cout<<setw(15)<<(1.0/ pow(2,n))<<endl;
    }
}

⌨️ 快捷键说明

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