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

📄 gamdev.cpp

📁 此程序为VC++常用数值算法这本书附赠的光盘中包含了本书中全部的源代码
💻 CPP
字号:
double gamdev(int ia, int &idum)
{
	double x,v1,v2,y,s,e,t;
	int j,am;
    if (ia < 1)
	{
		cout<< "abnormal exit";
		exit(1);
	}
    if (ia < 6)
	{
        x = 1.0;
        for (j = 1; j<=ia; j++)
            x = x * ran1(idum);
        x = -log(x);
	}
    else
	{
		do
		{
			do
			{
			do
			{
				v1 = 2.0 * ran1(idum) - 1.0;
				v2 = 2.0 * ran1(idum) - 1.0;
			}
			while (v1*v1 + v2*v2 > 1.0);
			y = v2 / v1;
			am = ia - 1;
			s = sqrt(2.0* am + 1.0);
			x = s * y + am;
			}
			while (x <= 0.0);
			e = (1.0 + y *y) * exp(am * log(x / am) - s * y);
		}
		while (ran1(idum) > e);
	}
    t = x;
	return t;
}

⌨️ 快捷键说明

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