2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Задача по программированию. Вероятность и теория чисел
Сообщение17.03.2012, 22:34 
Вычислить вероятность того что два случайным образом выбранных числа из отрезка $[1, \Bbb N]$ будут взаимно простыми. $1 \leq  {\Bbb N}\leq 10^6$.

Решение в лоб не проходит по времени (ограничение 1 секунда). Даже не знаю с какой стороны подступиться.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение17.03.2012, 22:43 
Ну, можно взять большее число $n$, факторизовать его, вычислить функцию Эйлера и поделить её значение на $n-1$. Хотя это в ряд ли быстро. Функцию Эйлера можно вычислить так: $n = \prod_{i=1}^k p_i^{\alpha_i},$ тогда $\varphi(n) = \prod_{i=1}^k p_i^{\alpha_i - 1} \left( p_i - 1 \right)$. Ну, вообще, это решение не привязано к программированию.
Зы.
Забыл учесть, что случайные числа могут оказаться равными. Ну, тут очевидно, что делать.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение17.03.2012, 23:27 
Аватара пользователя
Это Вы хрень какую-то говорите (или я чего-то не понял), а надо по формуле включений-исключений.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение17.03.2012, 23:42 
Ну у меня сделано в предположении того, что мы можем найти большее число.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение17.03.2012, 23:58 
Аватара пользователя
Большее чем что? И как оно связано с задачей?

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение18.03.2012, 00:30 
Большее из двух чисел.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение18.03.2012, 00:33 
Аватара пользователя
Из каких двух? Случайно выбранных? Так оно любым может быть.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение18.03.2012, 00:57 
Ну да, поэтому в предположении того, что известно, какое больше. То есть второе случайно выбирается из множества чисел, меньших первого. Но можно рассмотреть три несовместных события: $a >b, a<b, a=b $ и использовать формулу полной вероятности.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение18.03.2012, 01:16 
Аватара пользователя
Так даже если известно, положим, что первое больше - оно всё равно любым может быть.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение18.03.2012, 01:45 
Да, может быть любым, но разложение на множители для него всё равно будет, просто неизвестно, какое именно. Формулу-то записать всё равно можно. Хотя, конечно, нехорошо, что вероятность выражается через случайную величину.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение18.03.2012, 07:21 
При больших $n$ искомая вероятность ведет себя как $\frac{6}{\pi ^2}+O(\frac{\ln n}{n+1})$ - этим можно пользоваться для самопроверки.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение18.03.2012, 07:59 
Аватара пользователя
Doil-byle в сообщении #549578 писал(а):
Хотя, конечно, нехорошо, что вероятность выражается через случайную величину.

Так не должно быть.

 
 
 
 Re: Задача по программированию. Вероятность и теория чисел
Сообщение18.03.2012, 10:31 
Спасибо метод включений--исключений вкатил:)

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group