Recommended Posts

От гат, а? :)

И про пиво, и про своё.

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky
В пивбаре за длинным столом - 36 посетителей.
Более того, сразу хочу предупредить тех, кто пытается увести решение в сторону - стол НЕ КРУГЛЫЙ, это раз.

 

Специально для Ignatа :) - посетители НЕ СИДЯТ друг напротив друга, так что официант ищет пару сидящих возле себя (1,2) - (2,3) - (3,4) и.д., а не напротив (1,2) - (3,4) - (5,6)... - это два.

 

И три - официант пьян! Так что не надо гонять его "при моделировании на компьютере" 1 000 000 раз - это в конце-концов негуманно! Дождёмся точного расчёта.

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

Кто-нибудь еще пробовал задачу 1 на компьютере прогонять (полный перебор делать, например( в чем я очень сомневаюсь), или просто моделировать испытания)

 

Просто самому интересно, правильно решил или нет.

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

Я в субботу написал прогу. Протестировал на малом количестве карт - считала правильно. Запустил - загнулась на варианте номер всего-то 1006... Я понимаю, если бы хотя бы на 1024 или пусть даже на 256, то и искал бы ошибку в декларации переменной, но 1006 :blink: - ничего не понимаю... Временно забил...

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky
просто моделировать испытания

 

И так - эмпирический метод.

Написал програмулину которая мешает карты и проверяет наличие искомой последовательности карт.

Результат получается ~64%

Результат совпадает с оным полученным Ignat-ом.

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky
И так - эмпирический метод.

Написал програмулину которая мешает карты и проверяет наличие искомой последовательности карт.

Результат получается ~64%

Результат совпадает с оным полученным Ignat-ом.

 

Главное, что с теорией совпало : 1-3809029/10434600~ 0.6349616660

 

А сколько испытаний было сделано?

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

bandGap а на каком языке писали? можете алгоритм показать для не технических людей? ну на языке программирования :rolleyes:

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

Так-с... у меня всё исправлено... прога работает - на малом количестве карт испытания прошли успешно, но запущу в субботу... А вдруг она сейчвс бы до утра перебирала?

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky
bandGap а на каком языке писали? можете алгоритм показать для не технических людей? ну на языке программирования :rolleyes:

 

Алгоритм очень прост. Код целиком как есть, тут.

 

int runCount = int.Parse(tbRunCount.Text.Trim());

double successCounter = 0;

 

for(int i=0;i<runCount;i++)

{

cardDeck.MixCards();

if( cardDeck.CheckSuccess(CardNumber.Ace, CardNumber.Lady) )

successCounter++;

}

tbResult.Text = (successCounter/runCount).ToString();

 

public bool CheckSuccess( CardNumber cn1, CardNumber cn2 )

{

for( int i=0; i<35; i++)

{

 

if(arrayCardDeck.Number == cn1)

{

if(arrayCardDeck[i+1].Number == cn2)

return true;

}

 

if(arrayCardDeck.Number == cn2)

{

if(arrayCardDeck[i+1].Number == cn1)

return true;

}

}

return false;

}

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

bandGap

Пытался запустить, пишет MSCOREE.DLL was not found.

А как называется язык, на котором написана эта программа?

Я писал на обычном Паскале, вот

 

program cards;

USES CRT;

CONST N=1000000;

VAR

nn,i,j:longint;

P : real;

a :array[1..36] of integer;

f : integer;

expirience:integer;

otvet: real;

procedure makearray;

begin

randomize;

a[1]:=random(36)+1;

i:=2;

repeat

a:=random(36)+1;

f:=1;

for j:=1 to i-1 do

if a=a[j] then f:=0;

if f=1 then i:=i+1;

until i=37;

end;

procedure analiz;

begin

expirience:=0;

for i:=1 to 35 do

begin

if (a<5) and (a[i+1]>32) then expirience:=1;

if (a[i+1]<5) and (a>32) then expirience:=1;

end;

end;

BEGIN

P:=0;

for nn:=1 to N do

begin

makearray;

analiz;

if expirience=1 then P:=P+1;

end;

otvet:=P/N;

WRITE(otvet);

End.

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky
bandGap

Пытался запустить, пишет MSCOREE.DLL was not found.

А как называется язык, на котором написана эта программа?

 

C#, .NET 2.0

Скорее вопрос, что за компуктер такой? :blink:

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Odpovědět na toto téma...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




  • Kdo si právě prohlíží tuto stránku

    Žádný registrovaný uživatel si neprohlíží tuto stránku