n 个骰子的点数
把 n 个骰子仍在地上,求点数和为 s 的概率。
java:
public List<Map.Entry<Integer, Double>> dicesSum(int n) {
final int face = 6;
final int pointNum = face * n;
long[][] dp = new long[n + 1][pointNum + 1]; for (int i = 1; i <= face; i++)
dp[1][i] = 1; for (int i = 2; i <= n; i++)
for (int j = i; j <= pointNum; j++) /* 使用 i 个骰子最小点数为 i */
for (int k = 1; k <= face && k <= j; k++)
dp[i][j] += dp[i - 1][j - k]; final double totalNum = Math.pow(6, n);
List<Map.Entry<Integer, Double>> ret = new ArrayList<>();
for (int i = n; i <= pointNum; i++)
ret.add(new AbstractMap.SimpleEntry<>(i, dp[n][i] / totalNum)); return ret;
}
n 个骰子的点数的更多相关文章
- 【编程题目】n 个骰子的点数
67.俩个闲玩娱乐(运算).2.n 个骰子的点数.把 n 个骰子扔在地上,所有骰子朝上一面的点数之和为 S.输入 n,打印出 S 的所有可能的值出现的概率. 思路:用递归把每个骰子的可能情况变量,记录 ...
- 【面试题043】n个骰子的点数
[面试题043]n个骰子的点数 题目: 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s, 输入n,打印出s的所有可能的值出现的概率. n个骰子的总点数,最小为n,最大为6n,根据排列组 ...
- n个骰子的点数
把n个骰子扔在地上,所有骰子朝上的一面的点数之和为s.输入n,打印出s的所有可能的值和出现的概率. 解法一:基于递归求骰子点数. /////////////////基于递归求骰子点数///////// ...
- 【剑指offer】面试题43:n个骰子的点数
第一种思路是,每一个骰子的点数从最小到最大,如果为1-6,那么全部的骰子从最小1開始,我们如果一种从左向右的排列,右边的最低,索引从最低開始,推断和的情况. def setTo1(dices, sta ...
- N个骰子的点数和的概率分布
程序设计思路: 假设有n个骰子,关键是需要统计每个点数出现的次数.首先分析第一个骰子点数和有1到6的点数,计算出1到6的每种点数 的次数,并将结果用一个数组pos1记录.然后分析有两个骰子时, 点数为 ...
- n个骰子的点数之和
题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为S.输入n,打印出S的所有可能的值出现的概率. 解题思路:动态规划 第一步,确定问题解的表达式.可将f(n, s) 表示n个骰子点数的和为s的排列 ...
- 《剑指offer(第二版)》面试题60——n个骰子的点数
一.题目描述 把n个骰子仍在地上,所有的骰子朝上的一面的点数之和为s,输入n,打印出s所有可能的值出现的概率. 二.题解 <剑指offer>上给出的两种方法,尤其是代码,晦涩难懂且没有注释 ...
- [剑指Offer]60-n个骰子的点数
题意 输入骰子个数n,打印出所有骰子朝上的点的点数之和,及对应的概率. 题解 循环. n个骰子,点数之和在n~6n范围内.计算n个骰子扔出和为m的情况数,等于n-1个骰子扔出m-1,m-2...m-6 ...
- 【Java】 剑指offer(60) n个骰子的点数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s.输入n,打 ...
随机推荐
- 通过CONN_MAX_AGE优化Django的数据库连接
上周对我们用Django+Django-rest-framework提供的一套接口进行了压力测试.压测的过程中,收到DBA通知——数据库连接数过多,希望我们优化下程序.具体症状就是,如果设置mysql ...
- angular4 数据绑定
HTML属性绑定 1.基本Html属性绑定 <td [attr.colspan]="tableColspan">something</td> 2.css类绑 ...
- BZOJ4762 最小集合(动态规划+容斥原理)
https://www.cnblogs.com/AwD-/p/6600650.html #include<iostream> #include<cstdio> #include ...
- css 溢出overflow
css 溢出overflow 当一个元素被设置为固定大小,在这个元素中的内容如果超出元素的界限,就会出现溢出的现象. 通常情况下我们可以通过overflow来控制这个属性. overflow语法定义 ...
- ExKMP(Z Algorithm) 讲解
目录 问题引入 CaiOJ 1461 [EXKMP]最长共同前缀长度 算法讲解 匹配过程 next 的求解 复杂度证明 代码解决 一些例题 UOJ #5. [NOI2014]动物园 CF1051E V ...
- luoguP4705 玩游戏
好好玩 即对于k∈[1,t] 求(ax+by)^k 以下图片均来自于: 在Ta的博客查看 一 二项式展开: 设: 那么: 可以卷积了 二 求: (PS:随机序列的0~k次方和,这是一个经典问题.) 我 ...
- 主机管理+堡垒机系统开发:strace命令用法详解(六)
一.简单介绍 strace是什么? 按照strace官网的描述, strace是一个可用于诊断.调试和教学的Linux用户空间跟踪器.我们用它来监控用户空间进程和内核的交互,比如系统调用.信号传递.进 ...
- openstack项目【day23】:Neutron实现网络虚拟化
本节内容 一 Neutron概述 二 neutron openvswitch+gre/vxlan虚拟网络 三 neutron ovs opnflow流表和l2 population 四 dhcp ag ...
- 第二十三节: EF性能篇(三)之基于开源组件 Z.EntityFrameWork.Plus.EF6解决EF性能问题
一. 开篇说明 EF的性能问题一直以来经常被人所吐槽,究其原因在于“复杂的操作在生成SQL阶段耗时长,且执行效率不高”,但并不是没有办法解决,从EF本身举几个简单的优化例子: ①:如果仅是查询数据,并 ...
- opensuse 使用xx-net
提示安装 [launcher][WARNING] import pynotify fail, please install python-notify if possible. gae_proxy][ ...