Еще последнее замечание. При рассмотрении данной задачи не принималось
во внимание, что часы могут идти абсолютно точно с дискретностью
одна минута, но могут отставать от истинного времени или опережать
его. Если провести следующий эксперимент на ЭВМ:
Код:
long t1; // Истинное время
long n; // Число благоприятных случаев
long t2; // Время на часах
// Число экспериментов
#define COUNT (1000000 * 60)
int main(int argc, char* argv[])
{
// Получаем смещение на часах относительно истинного времени
t2 = atoi(argv[1]);
// Запускаем эксперимент
for(t1 = n = 0; t1 < COUNT;)
{
// Учитываем благоприятные случаи
if(abs(t1 - t2) <= 20)
++n;
// Продвигаем истинное время и время на часах
if(++t1 % 60 == 0)
t2 += 60;
}
// Смотрим вероятность
printf("%f\n", double(n) / COUNT);
return 0;
}
то при следующих значениях люфта времени часов относительно истинного времени от -25 до 80 секунд с шагом в 5 секунд
(-25 означает, что часы отстают от истинного времени на 25 секунд, 80 означает убегание часов) можно получить такой набор вероятностей:
-25=0.000000
-20=0.016667
-15=0.100000
-10=0.183333
-05=0.266667
+00=0.350000
+05=0.433333
+10=0.516667
+15=0.600000
+20=0.683333
+25=0.683333
+30=0.683333
+35=0.683333
+40=0.666667
+45=0.583333
+50=0.500000
+55=0.416667
+60=0.333333
+65=0.250000
+70=0.166667
+75=0.083333
+80=0.000000
Наверное, можно получить аналитическую формулу вроятности с учетом люфта времени. И в таком случае каждый выберет ту вероятность, которая ему больше нравится...