Advertisement
Divinty2

6 карт (комбинаторика)

Aug 2nd, 2019
653
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.81 KB | None | 0 0
  1. #from scipy.misc import comb # Это если comb() навернётся
  2. '''
  3. Из колоды в 52 карты наугад взяли 6 карт. Найдите вероятности событий:
  4. - среди выбранных карт по три карты двух разных мастей
  5. - среди выбранных карт не более двух бубновых карт
  6. В ответе приведите разделенные пробелом обыкновенные дроби.
  7. '''
  8.  
  9. def f(n):
  10.     """Факториал"""
  11.     result = 1
  12.     for i in range(2, n+1):
  13.         result *= i
  14.     return result
  15.    
  16. def comb(n, k):
  17.     """Сочетание из n по k"""
  18.     combinations = f(n)//(f(k)*f(n-k))
  19.     return combinations
  20.  
  21. def loc(n, k):
  22.     """Данная функция находит размещение из n элементов по k"""
  23.     location = f(n)//(f(n-k))
  24.     return location
  25.  
  26. all = comb(52, 6)
  27.  
  28. print('Всего вариантов: ', all)
  29.  
  30. print('ЗАДАЧА 1')
  31.  
  32. mast = comb(13, 3) * comb(13, 3)
  33. r = mast * 6
  34.  
  35. print('По три карты двух разных мастей: ', mast)
  36. print('Благоприятные исходы (в 6 раз больше): ', r)
  37. print('Вероятность: ', r / all)
  38. print('ОТВЕТ: ', r, '/', all, "\n")
  39.  
  40. print('ЗАДАЧА 2')
  41.  
  42. a = comb(13, 0) * comb(39, 6)
  43. b = comb(13, 1) * comb(39, 5)
  44. c = comb(13, 2) * comb(39, 4)
  45. sum = a + b + c
  46. res = sum / all
  47.  
  48. print('Ноль карт буби: ', a)
  49. print('Одна карта буби: ', b)
  50. print('Две карты буби: ', c)
  51. print('Благоприятные исходы (как сумма исходов с выпадением 0, 1 и 2 карт буби): ', sum)
  52. print('Вероятность: ', res)
  53. print('ОТВЕТ: ', sum, '/', all)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement