wayne
发表于 2012-1-14 19:28:33
19# KeyTo9_Fans
漂亮,状态转移矩阵比递推公式的表达更简洁。
zYr
发表于 2012-1-14 20:05:11
20# KeyTo9_Fans
原来是这么回事 学习了
zYr
发表于 2012-1-16 15:28:06
我改进了一下代码 把srand()函数放在外面 随机数质量高多了#include "stdafx.h"
#include "iostream"
#include "stdlib.h"
#include "time.h"
using namespace std;
double n=1,k=0; //n为实验总次数 k为实验成功(即1000次内升到九级)的次数
void main()
{
srand( (unsigned)time( NULL ) );
int shiyan();
double p; //p为概率
C:
n++;
int b=shiyan();
if (b)
{
k++;
}
p=k/n;
cout<<p<<endl;
goto C;
}
int shiyan()
{
int l=1; //l为屠龙刀等级
int i=1; //升级次数
int roll();
while(i<=1000) //执行1000次升级操作
{
int r=roll();
if (r<=3) //30%
{
l++;
}
else //70%
{
if(l==1)
{
l=1;
}
else
{
l--;
}
}
if (l==9)
{
break;
}
else
{
i++;
}
}
if (l==9) //实验成功
{
return 1;
}
else //实验失败
{
return 0;
}
}
int roll() //随机一个1到10的整数
{
int num = 1 + rand() % 10;
return num;
}
rayfekeeper
发表于 2012-5-4 15:27:44
游戏中的数学很强悍啊。RPG游戏中用得很广啊。
wayne
发表于 2012-5-6 14:14:10
24# rayfekeeper
赫赫,一看就知道阁下是游戏领域的专家