您的位置:首页 > 职场人生

面试题43:n个骰子和出现可能值得概率(java)

2016-09-01 22:05 218 查看
package _43_touzi;

import java.util.Arrays;

/**
* n个骰子和出现可能值得概率
* 使用一个长度为n的数组存放n个骰子的取值,递归n次即可
* @author yj
*
*/
public class Touzi {
static int count = 0;
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
int detph = 10;
int [] data = new int[detph];
System.out.println("begin...");
//fun1(1, detph, sum, data);
for(int i=1; i<=6; i++){
data[detph-1] = i;
fun1(i, detph, sum, data);
}
/**/
System.out.println(count);
System.out.println("end");
}
/**
* 只能求出点数和的可能
* @param k 当前骰子点数
* @param detph 常量,骰子个数,亦即递归深度
* @param sum 当前所有骰子点数和
* @param data 存放n个骰子的数组
*/
public static void fun1(int k, int detph,int sum,int[] data){
sum+=k;
--detph;
if(detph<=0){
System.out.print(sum+"#");
System.out.println(Arrays.toString(data));
count++;
return;
}
for(int i=k; i<=6; i++){
data[detph-1] = i;
fun1(i, detph, sum, data);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐