1.问题描述:豆机,也称为梅花瓶或高尔顿瓶,它是一个用来做统计实验的装备,是用英 国科学家瑟弗兰克斯高尔顿的名字命名的。 它是一个三角形状的均匀放置钉子的 直立板子,如图球从板子口落入,每当球碰到钉子,就有50%的机会落向左边或右边,在板子底部会积累一堆球。
2.实现思想:根据随机路径中R的总数,判断落入第几个槽中如LLRRLLR,落到第3+1个槽中。
3.代码:
import java.util.Scanner;
public class BeanMachine {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("输入球的个数: ");
int num=input.nextInt();
System.out.println();
System.out.print("输入层数: ");
int layers=input.nextInt();
input.close();
System.out.println();
int []slot=new int[layers+1];
for(int i=0;i<num;i++){
int Rnum=0;
for(int j=0;j<layers;j++){
char pos=Direction();
System.out.print(pos);
if(pos=='R')Rnum++;
}
System.out.println();
System.out.println("第 "+(i+1)+" 个球落入 "+(Rnum+1)+" 槽。");
slot[Rnum]++;
}
for(int i=0;i<slot.length;i++){
System.out.println("第 "+(i+1)+" 槽有 "+slot[i]+" 个球");
}
}
public static char Direction(){
double random=Math.random();
if(random<0.5)return 'L';
else return 'R';
}
}