|
| ||||
|
| ||||
|
Важные объявления
|
|
|
|
|
#1 (permalink) |
|
Ветеран
Регистрация: 25.05.2005
Адрес: Москва
Сообщений: 1,210
|
Правила игры. На 24 клетках расположены случайным образом 12 одноклеточных кораблей. Игрок поочередно "стреляет". За каждый подбитый корабль - 1000$. 2 промаха (можно не подряд) - стоп игра. 2 первых промаха - утешительный приз 500$. Каково общее МО игры и какова вероятность подбить 1, 2, ... , 12 кораблей? Никак не пойму, как это сосчитать. При игре до первого промаха - всё просто. 12/24*11/23*10/22 и т.п. А вот куда пристегнуть второй промах?
P.S. Если кто не в курсе - это в "Арбате". |
|
|
0
|
|
|
#2 (permalink) |
|
Ветеран
Регистрация: 12.02.2004
Адрес: Россия, УРФО
Сообщений: 1,399
|
Приветствую!
2 Mercator Игрок "стреляет" бесплатно? Тогда в чем пробема? "Стреляй" пока не соберешь столько денег, сколько сможешь унести. ![]() Как выглядит поле из 24 клеток? 6х4? линия 1х24? Сколько стоит плата за участие в игре?
__________________
Mariner Западное полушарие Марса рассечено на протяжении 4 000 км вдоль экватора рифтовыми долинами Маринер - крупнейшим поясом разломов на планете. |
|
|
0
|
|
|
#3 (permalink) |
|
Ветеран
Регистрация: 12.02.2004
Адрес: Россия, УРФО
Сообщений: 1,399
|
Приветствую!
2 Mercator Короче наваял симулятор. ![]() Если стоимость игры за 2 поытки составляет 1000$, то имеем жуткий плюс в +98.6%. Если стоимость игры за 2 поытки составляет 2000$, то имеем минус -3.45%. Код:
procedure TForm1.Button1Click(Sender: TObject);
type
zzz=array[1..24] of integer;
const
zeroArPole24: zzz=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
var
k,kk,i,j,r: integer;
ArPole24: zzz;
cntMiss: integer;
cntHit: integer;
res: real;
function myRandom: integer;
begin
myRandom:=Random(24)+1;
end;
begin
res:=0;
kk:=10000000;
for k:=1 to kk do
begin
ArPole24:=zeroArPole24;
res:=res-2000; //плата за участие в игре. 1000 или 2000
// расставляем корабли
j:=0;
while j<>12 do
begin
r:=myRandom;
if ArPole24[r]=0 then
begin
ArPole24[r]:=1;
Inc(j);
end;
end;
//стреляем
cntMiss:=0;
cntHit:=0;
while cntMiss<>2 do
begin
r:=myRandom;
if ArPole24[r]=1 then
begin
ArPole24[r]:=2; // типа стреляли в эту клетку
Inc(cntHit);
res:=res+1000; // подбили корабль
end;
if ArPole24[r]=0 then
begin
ArPole24[r]:=2; // типа стреляли в эту клетку
Inc(cntMiss);
end;
end;
// типа 2 раза сразу промахнулись
if cntHit=0 then res:=res+500;
end;
res:=res/kk;
end;
__________________
Mariner Западное полушарие Марса рассечено на протяжении 4 000 км вдоль экватора рифтовыми долинами Маринер - крупнейшим поясом разломов на планете. |
|
|
0
|