Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2009, 17:49   #1
Witaliy
Форумчанин Подтвердите свой е-майл
 
Регистрация: 27.04.2008
Сообщений: 179
По умолчанию Задача (вероятность)

Задание
Все чистые носки сохраняются в большой и глубокой коробке. Всего в ней находится N левых и M правых носков. Автор решил через нехватку времени избрать две наугад. Подсчитайте, какая вероятность того, что автор выбрал именно одну левую и один правый носок.
Входные данные
В единственной строке заданы два числа N и M – количество левых и правых носков в коробке.
Исходные данные
Выведите вероятность того, что избраны наугад два носка окажутся правыми и левыми, соответственно. Ответ следует вывести в виде несократимой арифметической дроби a/b.
Ограничение:
0 <= N,M <= 106
2 <= N+M.
Пример введения 1
4 5
Пример введения 2
7 0
Пример выведения 1
5/9
Пример выведения 2
0/1

Понятия не имею как решаються подобные задачи, буду благодарен за любую помощь.
Спасибо.
www.programmer.uaforums.net - Український форум програмістів.

www.satellite.ipsys.net - Український форум супутникового телебачення.
Witaliy вне форума Ответить с цитированием
Старый 25.02.2009, 19:29   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Всего носков n+m. Каждый раз может попасться либо левый, либо правый, при этом носков становится на 1 меньше. Подойдут 2 случая: когда сначала вытащили левый, потом правый и наоборот. Таким образом, вероятность получается
p = (n/(n+m)) * (m/(n+m-1)) + (m/(n+m)) * (n/(n+m-1))
Немного преобразовав выражение, можно получить его в виде дроби, потом разделить числитель и знаменатель на их НОД, чтобы дробь стала несократимой.
Somebody вне форума Ответить с цитированием
Старый 25.02.2009, 20:45   #3
Witaliy
Форумчанин Подтвердите свой е-майл
 
Регистрация: 27.04.2008
Сообщений: 179
По умолчанию

Очень прошу, если можете, подайте это переоразованное выражение. Спасибо.
www.programmer.uaforums.net - Український форум програмістів.

www.satellite.ipsys.net - Український форум супутникового телебачення.

Последний раз редактировалось Witaliy; 25.02.2009 в 20:52.
Witaliy вне форума Ответить с цитированием
Старый 25.02.2009, 20:53   #4
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

2*m*n/((n+m)*(n+m-1)) или 2*m*n/(sqr(n+m)-(n+m))
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 26.02.2009, 09:45   #5
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

Код:
var n,m,a,b:longint;
begin
  readln(n,m);
  a:=m;b:=n+m;
  while (a<>0)and(b<>0) do
  if a>b then a:=a mod b else b:=b mod a;  
  writeln(m div (a+b),'/',(n+m) div (a+b));
end.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц