Срочно на языке python!!!
Для биномиальных коэффициентов (числа сочетаний из n по k) хорошо известна рекуррентная формула: Cnk=Cn-1k-1+Cn-1k, Cn0=Cnn=1.
Входные данные
Вводится 2 числа - n и k.
Выходные данные
Необходимо вывести значение Cnk.
Примеры
входные данные
4 2
выходные данные
6
#Ввод n
while True:
try:
print('Введите n:', end=' ')
n = int(input())
break
except:
print('Должно быть целым числом!')
#Ввод k
while True:
try:
print('Введите k:', end=' ')
k = int(input())
break
except:
print('Должно быть целым числом!')
Cnk = 0
def func1(n, k):
global Cnk
if n<k: return
if n==k or k==0:
Cnk+=1
return
func1(n-1, k-1)
func1(n-1, k)
#Подсчет Cnk по реккурентной формуле
func1(n, k)
#Вывод Cnk
print('Cnk =', Cnk)
Должно быть так:

cache = {}
def c(k, n):
global cache
return 1 if k in (0,n) else cache.get((k,n), cache.update({(k,n):c(k,n-1)+c(k-1,n-1)}))
k, n = input().split()
k, n = int(k), int(n)
print(c(k, n))