题目链接:

https://projecteuler.net/problem=389

题意:

掷一个正四面体骰子,记点数为\(T\)。

掷\(T\)个正六面体骰子,记点数和为\(C\)。

掷\(C\)个正八面体骰子,记点数和为\(O\)。

掷\(O\)个正十二面体骰子,记点数和为\(D\)。

掷\(D\)个正二十面体骰子,记点数和为\(I\)。

求\(I\)的方差,并将你的答案四舍五入到\(4\)位小数。

每个面出现的概率等价。

题解:

可能我学了假的概率论和统计方法...以前不知道Bienaymé formula...可能学了也忘了...不过我们可以查 Wiki...QAQ... https://en.wikipedia.org/wiki/Variance

纵所周知,正\(n\)边形的骰子,掷骰子得到的期望点数可以定义为离散随机变量。

比如六面的骰子,每个面\(1\)~\(6\),每个面出现的概率等价。那么期望点数 \(X = \frac{(1 + 2 + 3 + 4 + 5 + 6)}{6} =\frac{7}{2}\)。期望的方差就是 \(Var(X) = \sum_{i=1}^{6}\frac{1}{6}(i-\frac{7}{2})^2 = \frac{35}{12}\)。

拓展一下,对于正\(n\)边形的骰子,每个面\(1\)~\(n\),期望点数\(X\)就是\(X = \frac{1}{n}\sum_{i=1}^{n}i = \frac{n+1}{2}\)。

期望方差就是 \(Var(X) = E(X^2) - (E(X)^2) = \frac{1}{n}\sum_{i=1}^{n}i - (\frac{1}{n}\sum_{i=1}^{n}i)^2 = \frac{(n+1)(2n+1)}{6} -(\frac{n+1}{2})^2 = \frac{n^2 - 1}{12}\)。

最后根据 the Law of Total Variance,即 \(Var(I) = Var(E(I|D)) + E(Var(I|D))] = Var(D)E(d)E(d) +Var(d) E(D)\) 就可以做出来啦。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;int dice[5] = {4,6,8,12,20};//https://en.wikipedia.org/wiki/Variancedouble E(int n)
{return (n + 1) / 2.0;
}
double Var(int n)
{return (n * n - 1) / 12.0;
}int main(int argc, char const *argv[]) {double e = 0.0 , var = 0.0;double ed = 1.0, varsum = 0;for(int i = 0; i < 5; i++) {e = E(dice[i]);var = Var(dice[i]);varsum = varsum * e * e + var * ed;ed = ed * e;}printf("%.4f\n", varsum);cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";return 0;
}

转载于:https://www.cnblogs.com/LzyRapx/p/9053866.html

Project Euler 389 Platonic Dice (概率)相关推荐

  1. 硬币游戏 Project Euler 232

    原帖:http://hi.baidu.com/atyuwen/blog/item/160bd024531e3034c995591d.html Project Euler上最近的题目都还比较意思,来看看 ...

  2. [Project Euler] 来做欧拉项目练习题吧: 题目004

        [Project Euler] 来做欧拉项目练习题吧: 题目004 周银辉 问题描述: A palindromic number reads the same both ways. The l ...

  3. [Project Euler] 来做欧拉项目练习题吧: 题目017

    [Project Euler] 来做欧拉项目练习题吧: 题目017 周银辉 题目描述: If the numbers 1 to 5 are written out in words: one, two ...

  4. [Project Euler] 来做欧拉项目练习题吧: 题目012

      [Project Euler] 来做欧拉项目练习题吧: 题目012 周银辉 问题描述: The sequence of triangle numbers is generated by addin ...

  5. Project Euler

    最近发现了一个很有趣的网站,Project Euler 上面全是数学题,不过大多需要用编程解决 Problem 3: 求:600851475143的最大素因子. 解:编了个程序,迅速水过,看官方的题解 ...

  6. Project Euler Problem 27小结

    Project Euler上有很多有意思的问题,刚做到第27题,对这个问题做个小结. Problem 27: Euler有一个著名的方程n^2+n+41,当n=0到39时,方程结果均为质数.如今人们用 ...

  7. Project Euler Problem 104 Pandigital Fibonacci ends

    Pandigital Fibonacci ends Problem 104 The Fibonacci sequence is defined by the recurrence relation: ...

  8. Project Euler 3 Largest prime factor

    Project Euler 3 Largest prime factor ''' The prime factors of 13195 are 5, 7, 13 and 29. What is the ...

  9. Project Euler Problem 66

    Problem 66 Consider quadratic Diophantine equations of the form: x2 – Dy2 = 1 For example, when D=13 ...

最新文章

  1. 6位图灵奖获得者、10多位院士在线“教学”,这套关于“人工智能下一个十年”的课程免费提供给你...
  2. 剑指offer 平衡二叉树
  3. Mapreduce基本工作流程
  4. TensorFlow 实战 MINST
  5. Ubuntu14.04无法在var/www内新建文档
  6. Java文件类字符串getAbsolutePath()方法(带示例)
  7. python 爬取贝壳网小区名称_如何使用 python 爬取全国小区名称
  8. leetcode-507-Perfect Number
  9. 【031】◀▶ 一些心得体会总结
  10. input隐藏域赋值数组
  11. 大学计算机专业高考听力,2018北京高考英语听力一年两考,其他省市如何进行?...
  12. 软件设计师中级-数据库系统
  13. 不差钱!华为,给学生开百万年薪
  14. HTML网页设计教师评语,服装设计毕业设计指导教师评语
  15. 联想Y470 非虚拟机安装苹果Mac OS X Mavericks 10.9.1教程详解(文字+图片),通俗易懂亲自动手——序列一之综述简介,硬盘分区
  16. apollo 阿波罗使用
  17. 鱼眼摄像头 实时动、静目标的检测,跟踪,分类
  18. 电源完整性仿真PDN-电源完整性是什么?
  19. cs231n课程笔记 摘抄
  20. c++读取文件夹下面的图片名称

热门文章

  1. layuiadmin(官方)知识点
  2. 编程猫小班定制课正式课流程
  3. 京东18届一年半经验社招面经
  4. 10 月 1 放假了~~~~~~~!就一天 ;(
  5. 计算机网络学习1:因特网概述
  6. 视频会议看不到别人的视频图像怎么办
  7. 百度副总裁沈抖:百度APP全面升级 打造新内容消费服务平台
  8. web上传zip大文件,java服务接收并解压ZIP文件
  9. 电大计算机本科考试试题,电大计算机考试本科试题电大计算机考试本科试题.doc...
  10. 进程调度java实现(FCFS,SJF,HRRN,RR)