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

📄 6_59.cpp

📁 几个C++程序设计实例
💻 CPP
字号:
#include<iostream.h>
#include<iomanip.h>
#include<time.h>
const unsigned long maxshort=65536L;
const unsigned long multiplier=1194211693L;
const unsigned long adder=12345;

class RandomNumber
{
private:
	unsigned long randSeed;  //当前种子
public:
	RandomNumber(unsigned long s=0);  //构造函数
	unsigned short Random(unsigned long n);  //产生0到n-1之间的随机整数
	double fRandom(void);  //产生[0,1]的随机实数
};

RandomNumber::RandomNumber(unsigned long s)
{
	if (s==0)
		randSeed=time(0);  //用系统时间产生种子
	else
		randSeed=s;  //用户提供种子
}
unsigned short RandomNumber::Random(unsigned long n)
{
	randSeed=multiplier*randSeed+adder;
	return (unsigned short)((randSeed>>16)%n);
}

double RandomNumber::fRandom(void)
{
	return Random(maxshort)/double(maxshort);
}
double Darts(int n)  //计算圆周率值
{
	static RandomNumber dart;
	int k=0;
	for(int i=1;i<=n;i++)
	{
		double x=dart.fRandom();
		double y=dart.fRandom();
		if((x*x+y*y)<1) k++;
	}
	return 4*k/double(n);
}
void main(void)
{
unsigned long n;
cout<<"n=";
cin>>n;
cout<<Darts(n)<<endl;
}

⌨️ 快捷键说明

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