Прикреплённый файл «Sav_circled.py»

Загрузка

   1 # Author: Savitsky Igor.
   2 
   3 # Factorial.
   4 def fact(n):
   5  k = 1
   6  for i in xrange(2, n+1):
   7   k *= i
   8  return k
   9 
  10 def bfact(n, *lst):
  11  lst1, lst2 = [i for i in lst[:n]], [j for j in lst[n:]]
  12  k = 1
  13  for i in xrange(min(n, len(lst)-n)):
  14   for j in xrange(max(lst2)+1, max(lst1)+1):
  15    k *= j
  16   lst1.remove(max(lst1))
  17   lst2.remove(max(lst2))
  18  for i in lst1:
  19   for j in xrange(2, i+1):
  20    k *= j
  21  for i in lst2:
  22   for j in xrange(2, i+1):
  23    k /= j
  24  return k
  25 
  26 def ffact(k, a, b):
  27  c = 1
  28  for i in xrange(min(a, b)+1, max(a, b)+1):
  29   c *= i
  30  if a < b:
  31   k /= c
  32  else:
  33   k *= c
  34  return k
  35  
  36  
  37 print
  38 print "Input n:",
  39 n = input()
  40 print
  41 print "Input k:",
  42 k = input()
  43 print
  44 
  45 if n == 0 or k == 0 or k > n-1:
  46  print "Error!"
  47 else:
  48  k1 = fact(k-1)*fact(n-k-1)
  49  l = 0
  50  for i in xrange(k):
  51   k2 = fact(i)
  52   k2 *= k2*fact(k-1-i)
  53   for j in xrange(n-k):
  54    #l += fact(i+j)/fact(i)/fact(j)#*(fact(k-1)/fact(i)/fact(k-1-i))*(fact(n-k-1)/fact(j)/fact(n-k-1-j))
  55    #l1 += fact(i+j)/fact(i)/fact(j)*(fact(k-1)/fact(i)/fact(k-1-i))*(fact(n-k-1)/fact(j)/fact(n-k-1-j))
  56    k3 = fact(j)
  57    l += ffact(k1, i+j, n-k-1-j)/(k2*k3*k3)
  58  print l

Прикреплённые файлы

Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.

Вам нельзя прикреплять файлы к этой странице.