def silniaI(n): if n == 0: return 1 s = 1 for i in range(n): # 0...n-1 s = s * (i+1) return s r = silniaI(120) print(r) def silniaR(n): if n==0: return 1 s = n * silniaR(n-1) return s r = silniaR(120) print(r) ''' silinaR(4) | 4 * silniaR(3) | 3 * silniaR(2) | 2 * silniaR(1) | 1 * silniaR(0) | 1 * <-------1 | 2 * <-------1 | 3 * <-------2 | 4 * <-------6 | 24 '''