void f(int n)
{
int a[n+1][6*n+1];
memset(a,0,sizeof(a));
for(int i=1;i<=6;i++)
a[1][i]=1;
for(int i=2;i<=n;i++)//第i 个骰子。
for(int j=i;j<=6*i;j++)//j为所有(第i个 加上 前i-1个)骰子可能出现的点数和。
{
a[i][j]=0;
for(int k=1;k<=6&&k<=j;k++)//k 为第 i个骰子 的可能出现的点数 k<=j&&k<<6
a[i][j]+=a[i-1][j-k];
}
float total=pow(6,n);
for(int i=n;i<=6*n;i++)
cout<<a[n][i]/total;
n个骰子 点数和 概率计算
最新推荐文章于 2021-04-19 19:02:53 发布