抛10次硬币,有5-10次的正面是朝上的,怎么写java程序算概率

如题所述

因为你只是算概率,并不是模拟10次抛硬币。算概率的话是数学问题,只要数学会算就可以。
提供一个思路:5次正面朝上的概率+6次正面朝上的概率+……+10次正面朝上的概率。
10次正面朝上的概率是:(1/2)^10
9次正面朝上的概率是:10 *(1/2)^9 *(1/2)^1
依次类推,不会的话去看看概率论。
如果要模拟的话,就另当别论了。用(int)(Math.random()*2)来模拟,如果是0就算反面,如果是1就算正面,正面朝上的话计数加1,一轮10次。如果最后计数正面朝上的次数在5-10次的话,成功轮数加1。定一个很大的总轮数,用成功轮数除以总轮数,就是概率
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-16
/**
 * 我来说个思路吧:
 * 使用var = Math.random(2)函数,当var == 0,其为正,var == 1 其为反。
 * 使用反面计数count = 0;(初始化)主要防止反面出现6-10次的情况,如果发生,就将
 * 剩余的全部强制赋予正面。
 * for循环10次,出现一次var == 1的时候,++count;if判断,如果count == 5,那
 * 么,将后面的var值全部强制赋予0
 */
 
 //毛主席思想,永放光芒。。。

第2个回答  2013-07-16
public class Test{
public static void main(String[] args){
int a[]=new int[10] ;
int sum=10;
int count=0;
for(int i=0;i<10;i++){
int a[i]=Math.Random()>0.5?1:0;
}
for(int x;a){
if(x=1)
count++;
}
System.out.println("概率为:"+count/10);
}
}
相似回答