其他分享
首页 > 其他分享> > 扔骰子期望

扔骰子期望

作者:互联网

扔骰子 可以选择扔到某个数的时候获得然后退出 或者不拿走继续扔

dp[i]表示扔第i次的时候的最大期望
f[n]=1/6*(max(1,f(n-1))+ max(2,f(n-2)) +max(3,f(n-1)) +max(4,f(n-1)) +max(5,f(n-1)) +max(6,f(n-1)) )

#include<stdio.h>
#define max(p,q)((p)>(q)?(p):(q))

int main(){
	int n;
	scanf("%d",&n);
	double ans=3.5;//当扔1次的时候的最大期望
	for(int i=1;i<n;i++){
		double ans2=0;
		for(int d=1;d<=6;d++)ans2+=max(ans,d)/6;
		ans=ans2;
	}
	printf("%.10f\n",ans);
}

标签:骰子,期望,int,max,3.5,时候
来源: https://www.cnblogs.com/liang302/p/16635581.html