# -*- coding: utf-8 -*-
"""
Created on Mon Apr 23 15:11:22 2018
@author: HAN Jinghui
"""
class Solution:
# @param {int} n an integer
# @return {tuple[]} a list of tuple(sum, probability)
def dicesSum(self, n):
# Write your code here
if n <= 0:
return None
result = [
[],
[1,1,1,1,1,1],
]
# result 点数和列表
# n 骰子数
# i 第i个骰子
# x 列表第i行元素数
# j 点数和
for i in range(2,n+1):
x = 5*i+1
result.append([0 for _ in range(x)])
for j in range(x):
if j < 6:
result[i][j] = (sum(result[i-1][0:j+1]))
else:
result[i][j] = (sum(result[i-1][j-5:j+1]))
res = result[-1]
all = sum(res)
other = []
# 第i个元素代表骰子总和为n+i
for i,item in enumerate(res):
pro = item/all
other.append([n+i,pro])
return otherPython, LintCode, 20. 骰子求和
最新推荐文章于 2022-02-08 18:56:11 发布
本文介绍了一个算法,用于计算投掷指定数量骰子时各种点数组合出现的概率。通过构建一个动态规划模型,该算法能够高效地计算出所有可能的点数组合及其对应的概率。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Python3.8
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
5444

被折叠的 条评论
为什么被折叠?



