首页 > 代码库 > Hdu 4386 Play the Dice 解题报告
Hdu 4386 Play the Dice 解题报告
hdu 4586---Play the dice
解题思路:概率
题目描述:一个骰子有n面,每面朝上的概率相同,并且每一面上面都有一个数字,其中有m面是彩色的,代表掷到彩色面的时还可以继续掷下去,问最终掷得的数字的期望是多少?
解题方法:
方法一:只考虑单独掷每一次的情况,可以发现,每次掷到的期望是和先前无关的,假设a=sum/n(每掷一次的期望都是a),比如:掷第一次的时候期望是a,掷第二次的时候期望便是(m/n)*a,因为有(m/n)的概率能够掷第二次。。依次可以继续下去,等比求和即可。
using System; using System.Linq; public class VJ { static int Main() { process(); Console.ReadLine(); return 0; } static void process() { string str; int[] arr; int m,sum; while((str=Console.ReadLine())!=null) { arr=Array.ConvertAll<string , int>(str.Split(‘ ‘) , r => int.Parse(r)); m=Convert.ToInt32((str=Console.ReadLine())[0].ToString()); sum=(from int r in arr select r).Sum()-arr[0]; if(m==0) Console.WriteLine("{0:0.00}" , (double)sum/(double)arr[0]); else if(m==arr[0]) Console.WriteLine("inf"); else Console.WriteLine("{0:0.00}" , (double)sum/(double)(arr[0]-m)); } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。