Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.62 KB | None | 0 0
  1. def euler_func (n):
  2.     result = n
  3.     max_i = n
  4.     i = 2
  5.     while True:
  6.         if n % i == 0:
  7.             while n % i == 0:
  8.                 n //= i
  9.             result -= result // i
  10.         if n < i or i * i > max_i:
  11.             break
  12.         i += 1
  13.     if n > 1:
  14.         result -= result // n
  15.     return int(result % 1000000007)
  16.  
  17. def dummy_binomial(k, n):
  18.     k = min(k, n - k)
  19.     result = 1
  20.     for i in range(1, k + 1):
  21.         result *= (n - k + i)
  22.         result //= i
  23.     return result
  24.  
  25. k, n = [int(x) for x in input().split()]
  26. coef = dummy_binomial(k, n)
  27. print(coef)
  28. print(euler_func(coef))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement