Просмотр одиночного сообщения
Old 01-03-2006, 09:37   #20
ank
просто зверь
 
Аватар для ank
 
Сообщений: 6,244
Проживание:
Регистрация: 28-07-2004
Status: Offline
Репутация: 14
Цитата:
Сообщение от Kaktus
Давайте поставим Зуберу пиво, а он пусть наваяет программулю...Что-то вроде метода научного тыка, он же метод Монте-Карло

Пиво - мне.
#include <iostream>
#include <algorithm>

int main()
{
const int N=40; // максимальное число конвертов
const int D=200000; // число попыток

int s[N];

for (int n=1; n<N; n++) {
int hits=0;
for (int i=0; i<n; i++)
s[i] = i;
for (int d=0; d<D; d++) {
std::random_shuffle( s, s+n );
for (int i=0; i<n; i++) {
if (s[i] == i) {
hits++;
break;
}
}
}
std::cout << "P["<<n<<"] = " << float(hits)/D << "(" << hits << "/" << D <<")\n";
}
}
 
0
 
0
    Ответить с цитированием