日期:2014-05-20  浏览次数:20642 次

有这样一个问题,谁能用程序来描述下
一个老虎在一天中午吃饭,每个肉3斤左右,一天也就能吃30斤肉左右,但这有2个饲养员  
饲养员A的情况是:1块肉有30%的概率会多加了3斤.
饲养员B的情况是:1块肉有25%的概率也会多加3了斤,有5%的概率呢会多给一块肉(而且这块肉呢还可能是多加了3斤的肉)

------解决方案--------------------
这个题目满有意思,我来试试:
int sumA = 0;
for(int ix = 0; ix < 10; ++ix)
{
double r = Math.random();
if(r < 0.3)
{
sumA += 6;
}
else
{
sumA +=3;
}
}
System.out.println(sumA);

int sumB = 0;
boolean oneMore = false;
for(int ix = 0; ix < 10; ++ix)
{
double r = Math.random();
if(r < 0.05 && !oneMore)
{
oneMore = true;
--ix;
r = Math.random();
}
if(r < 0.25)
{
sumB += 6;
}
else
{
sumB += 3;
}
}
System.out.println(sumB);
------解决方案--------------------
我觉得应该是这样吧,饲养员B的我觉得改成这样会比较合理
int sumB = 0;
for (int i = 0; i < 10; i++) {
double r = Math.random();
double oneMore = Math.random();
if (r < 0.25) {
if (oneMore < 0.05)
sumB = sumB + 12;
else
sumB = sumB + 6;
} else {
if (oneMore < 0.05)
sumB = sumB + 6;
else
sumB = sumB + 3;
}
}
System.out.println( "sumB= "+sumB);