Project Euler 389 Platonic Dice (概率)
题目链接:
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 (概率)相关推荐
- 硬币游戏 Project Euler 232
原帖:http://hi.baidu.com/atyuwen/blog/item/160bd024531e3034c995591d.html Project Euler上最近的题目都还比较意思,来看看 ...
- [Project Euler] 来做欧拉项目练习题吧: 题目004
[Project Euler] 来做欧拉项目练习题吧: 题目004 周银辉 问题描述: A palindromic number reads the same both ways. The l ...
- [Project Euler] 来做欧拉项目练习题吧: 题目017
[Project Euler] 来做欧拉项目练习题吧: 题目017 周银辉 题目描述: If the numbers 1 to 5 are written out in words: one, two ...
- [Project Euler] 来做欧拉项目练习题吧: 题目012
[Project Euler] 来做欧拉项目练习题吧: 题目012 周银辉 问题描述: The sequence of triangle numbers is generated by addin ...
- Project Euler
最近发现了一个很有趣的网站,Project Euler 上面全是数学题,不过大多需要用编程解决 Problem 3: 求:600851475143的最大素因子. 解:编了个程序,迅速水过,看官方的题解 ...
- Project Euler Problem 27小结
Project Euler上有很多有意思的问题,刚做到第27题,对这个问题做个小结. Problem 27: Euler有一个著名的方程n^2+n+41,当n=0到39时,方程结果均为质数.如今人们用 ...
- Project Euler Problem 104 Pandigital Fibonacci ends
Pandigital Fibonacci ends Problem 104 The Fibonacci sequence is defined by the recurrence relation: ...
- 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 ...
- Project Euler Problem 66
Problem 66 Consider quadratic Diophantine equations of the form: x2 – Dy2 = 1 For example, when D=13 ...
最新文章
- 6位图灵奖获得者、10多位院士在线“教学”,这套关于“人工智能下一个十年”的课程免费提供给你...
- 剑指offer 平衡二叉树
- Mapreduce基本工作流程
- TensorFlow 实战 MINST
- Ubuntu14.04无法在var/www内新建文档
- Java文件类字符串getAbsolutePath()方法(带示例)
- python 爬取贝壳网小区名称_如何使用 python 爬取全国小区名称
- leetcode-507-Perfect Number
- 【031】◀▶ 一些心得体会总结
- input隐藏域赋值数组
- 大学计算机专业高考听力,2018北京高考英语听力一年两考,其他省市如何进行?...
- 软件设计师中级-数据库系统
- 不差钱!华为,给学生开百万年薪
- HTML网页设计教师评语,服装设计毕业设计指导教师评语
- 联想Y470 非虚拟机安装苹果Mac OS X Mavericks 10.9.1教程详解(文字+图片),通俗易懂亲自动手——序列一之综述简介,硬盘分区
- apollo 阿波罗使用
- 鱼眼摄像头 实时动、静目标的检测,跟踪,分类
- 电源完整性仿真PDN-电源完整性是什么?
- cs231n课程笔记 摘抄
- c++读取文件夹下面的图片名称