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

📄 a2.cpp

📁 用c语言编写的泊松分布
💻 CPP
字号:
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <math.h>
#include <fstream.h>
#include <iomanip.h>
#define znew   (z=36969*(z&65535)+(z>>16))
#define wnew   (w=18000*(w&65535)+(w>>16))
#define MWC    ((znew<<16)+wnew )
#define SHR3  (jsr^=(jsr<<17), jsr^=(jsr>>13), jsr^=(jsr<<5))
#define CONG  (jcong=69069*jcong+1234567)
#define FIB   ((b=a+b),(a=b-a))
#define KISS  ((MWC^CONG)+SHR3)
#define LFIB4 (c++,t[c]=t[c]+t[UC(c+58)]+t[UC(c+119)]+t[UC(c+178)])
#define SWB   (c++,bro=(x<y),t[c]=(x=t[UC(c+34)])-(y=t[UC(c+19)]+bro))
#define UNI   (KISS*2.328306e-10)
#define VNI   ((long) KISS)*4.656613e-10
#define UC    (unsigned char)  
typedef unsigned long UL;

static UL z=362436069, w=521288629, jsr=123456789, jcong=380116160;
static UL a=224466889, b=7584631, t[256];

static UL x=0,y=0,bro; static unsigned char c=0;/*引用自Practical U(0,1) Generators*/

/***************************泊松函数定义***************************/

int    Poisson (double lamda)
{double a=exp(-lamda);
double b=1;
 int X;

 int i=0;
 while(b>=a)
 {double U=UNI;
 b=b*U;
 if (b<a)
{X=i;
 return(X);}
 
 i++;}}

/*************************************************************************/
void main(  )
{float lamda;
 int i;
 int p;
 ofstream ofile;
 ofile.open(" Poisson.xls");
	cout<<"input=";
	cin>>lamda;
    for (i=1; i<=1000;i++)
	{  p=Poisson(lamda);
	   cout<<p<<"\n";
	   ofile<<p<<endl;
	}
 ofile.close();
}

⌨️ 快捷键说明

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