📄 a2.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 + -