千家信息网

大数据中如何解析n个骰子的点数

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,大数据中如何解析n个骰子的点数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。把n个骰子扔在地上,所有骰子朝上一面的点数之
千家信息网最后更新 2026年11月04日大数据中如何解析n个骰子的点数

大数据中如何解析n个骰子的点数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。

你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。

示例 1:

输入: 1

输出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]

示例 2:

输入: 2

输出: [0.02778,0.05556,0.08333,0.11111,0.13889,0.16667,0.13889,0.11111,0.08333,0.05556,0.02778]

限制:

1 <= n <= 11

解题思路

1,这是一个动态规划题目

2,假设有i个骰子,可以拼出的点数为i,i+1,i+2,......,i*6,共2*i-i+1个

3,i取值范围是1...n

4, 用dp[i][j],表示,i个骰子,点数和为j的组合个数

5,状态转移方程为

dp[i][j]=sum(dp[i-1][j-k]) k=1,2,3,4,5,6

6,由于用到了i-1,所以递增

7,结果取,i=n那一列,j变化范围从 i到2*i的数据,除以 pow(6,n)

代码实现

func twoSum(n int) []float64 {    var r []float64    dp:=make([][]int,n+1)    for i:=0;i        dp[i]=make([]int,n*6+1)    }
s:=pow(6,n)
//1 1...6 //2 2...12 for i:=1;i<=6;i++{ dp[1][i]=1 }
for i:=2;i<=n;i++{ for j:=i;j<=i*6;j++{ for k:=1;k<=6;k++{ if j>k{ dp[i][j]+=dp[i-1][j-k] fmt.Println( dp[i][j],":",i,j,"=>",i-1,j-k) } } if j==i*6{ // dp[i][j]=1 } } } for j:=n;j<=n*6;j++{ r=append(r,float64(dp[n][j])/float64(s)) } fmt.Println(dp[n][n:n*6+1]) fmt.Println(dp,s) return r
}

func pow(x,y int)int{ r:=1 for i:=0;i r*=x } return r}

/**解题思路dp[i][j]表示当n=i时,和为j出现的排列情况总数;状态转移方程:dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+dp[i-1][j-3]+dp[i-1][j-4]+dp[i-1][j-5]+dp[i-1][j-6];初始条件:dp[1][1]=dp[1][2]=dp[1][3]=dp[1][4]=dp[1][5]=dp[1][6]=1;
代码class Solution {public: vector twoSum(int n) { vector>dp(n+1,vector(6*n+1,0)); double num=pow(6,n); vectorres(5*n+1,1/(double)6); //初始状态 for(int i=1;i<=6;i++)dp[1][i]=1; for(int i=2;i<=n;i++){ //从2到n计算dp for(int j=i;j<=i*6;j++){ //表示当n=i时候的点数和取值从i到6i for(int k=1;k<=6;k++){ //dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+dp[i-1][j-3]+dp[i-1][j-4]+dp[i-1][j-5]+dp[i-1][j-6]; if(j-k>0)dp[i][j]+=dp[i-1][j-k]; //第i个骰子点数一定比i-1个骰子点数大 if(i==n)res[j-i]=dp[i][j]/num; } } } return res; }};*/

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

点数 骰子 状态 输入 数据 代码 思路 方程 概率 示例 范围 帮助 输出 清楚 个数 之和 代表 元素 内容 初始条件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有格互联网科技 湖北九亚互联网络科技有限公司 华宇互联网科技 碳银互联网科技有限公司 广西互联网科技公司 互联网科技有限公司 翻译 现代科技和互联网有关系吗 温州喔噻互联网科技有限公司 以后互联网后是啥科技 厦门比较好的科技互联网公司 未来五年的互联网科技 朱啸虎曾投资哪些互联网科技企业 区块链结合互联网科技 雨阳互联网卡科技有限公司 半导体是互联网高科技吗 信承诺互联网科技有限公司 艺电能源互联网科技有限公司招聘 保山浩联互联网科技有限公司 互联网科技创业有什么好项目 恒生科技互联网指数十大成分股 亿人帮互联网科技有限公司 金融科技 互联网金融 科技服务与互联网 丰台科技园 互联网公司 互联网金融中的现代科技 注册互联网科技公司经营范围大全 苏州铭阳互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 互联网企业和网络科技有限公司 株洲百竞科技的互联网营销顾问
0