import java.util.Properties;
/**
* Created by WHZ on 2017/4/7.
*/
public class offer42 {
static int maxValue = 6;
static void PrintProbability(int number){
if(number<1)
return;
int maxSum = number*maxValue;
int[] Probabilities = new int[maxSum-number+1];
for(int i=number;i<=maxSum;i++)
Probabilities[i-number] = 0;
Probability(number,Probabilities);
int total = (int)Math.pow(maxSum,number);
for(int i = number;i<=maxSum;i++){
double ratio = (double)Probabilities[i-number]/total;
System.out.printf("%d: %f\n",i,ratio);
}
}
static private void Probability(int number, int[] probabilities) {
for(int i = 1;i<=maxValue;i++){
Probability(number,number,i,probabilities);
}
}
static private void Probability(int original, int current, int sum, int[] probabilities) {
if(current==1){
probabilities[sum-original]++;
}else{
for(int i=1;i<=maxValue;i++){
Probability(original,current-1,i+sum,probabilities);
}
}
}
public static void main(String[] args){
PrintProbability(2);
}
}
剑指offer43:n个骰子的点数
最新推荐文章于 2024-07-21 10:26:58 发布