def factorial(a): if a == 0: return 1 return a * factorial(a - 1) if a > 0 else a * factorial(a + 1) factorial(b) / factorial(a - 1)
scidamФакториал есть в модуле math. Но и факториал здесь не нужен, так как слишком затратен по времени, если расстояние от a до b большое.def factorial(a):
def ab(a, b): if a == b: return b return a * ab(a + 1, b) print ab(5, 6)
scidamда только мне нужно все это сделать с циклом while и без использования функций)))
py.user.nextТочно, можно гораздо проще (и также с рекурсией):
scidamВыполни
Рекурсии, правда, медленные но не важно…
ab(1, 1000)