43 n 个筛子 的点数
2016-07-20 09:58
211 查看
描述:
实现代码:
测试结果:
实现代码:
package question43; public class DicsProbability { /* * 把n个骰子仍在地上,所有骰子朝上一面的点数之和为s,输入n,打印出s的所有可能出现的概率 */ public static void printProbability(int number) { if (number < 1) return; int g_maxValue = 6; int[][] probabilities = new int[2][]; probabilities[0] = new int[g_maxValue * number + 1]; probabilities[1] = new int[g_maxValue * number + 1]; int flag = 0; for (int i = 1; i <= g_maxValue; i++) probabilities[0][i] = 1; for (int k = 2; k <= number; ++k) { for (int i = 0; i < k; ++i) probabilities[1 - flag][i] = 0; for (int i = k; i <= g_maxValue * k; ++i) { probabilities[1 - flag][i] = 0; for (int j = 1; j <= i && j <= g_maxValue; ++j) probabilities[1 - flag][i] += probabilities[flag][i - j]; } flag = 1 - flag; } double total = Math.pow(g_maxValue, number); for (int i = number; i <= g_maxValue * number; i++) { double ratio = (double) probabilities[flag][i] / total; System.out.println(i); System.out.println(ratio); } } public static void main(String[] args) { printProbability(1); printProbability(2); } }
测试结果:
相关文章推荐
- 社会学的研究方法
- 线性回归笔记
- Listview的onItemClickListener无法响应的解决方法(转)
- PHP的AES加密算法完整实例
- Reorder List
- Winfrom 文本框回车进入下一个个单元格(TextBox)
- loadView、viewDidLoad及viewDidUnload的关系
- Maven项目,右键-update project后JRE system Library变成eclipse默认的版本
- TI 的 Codec Engine框架简介
- net项目发布到IIS上一系列问题汇总
- VBA之FormulaR1C1属性
- Linux互斥与同步之原子操作
- TextView实现跑马灯效果
- Android实现推送方式解决方案
- magic_quotes_gpc和magic_quotes_runtime的区别和用法详解
- J2EE进阶(七)利用SSH框架根据数据表建立model类
- POJ 1017 Packets
- ORM
- YYKit系列之——YYCache使用
- 字符排序