программа компилируется, но не выдаёт ответа.
Ну почему же не выводит, выводит, но вначале падает, все таки это самый медленный ЯП из популярных.
def f(n):
print(f"Entering f({n})")
if n == 1:
print(f"Returning 1 for f({n})")
return 1
if n > 1:
result = n * f(n - 1)
print(f"Returning {result} for f({n})")
return result
print((f(2024) + f(2023)) / f(2022))
console:
# python f.py
Entering f(2024)
...
Entering f(1037)
Entering f(1036)
Entering f(1035)
Entering f(1034)
Entering f(1033)
Entering f(1032)
Entering f(1031)
Entering f(1030)
Entering f(1029)
Entering f(1028)
Entering f(1027)
Entering f(1026)
Traceback (most recent call last):
File "f.py", line 11, in <module>
print((f(2024) + f(2023)) / f(2022))
^^^^^^^
File "f.py", line 7, in f
result = n * f(n - 1)
^^^^^^^^
File "f.py", line 7, in f
result = n * f(n - 1)
^^^^^^^^
File "f.py", line 7, in f
result = n * f(n - 1)
^^^^^^^^
[Previous line repeated 996 more times]
RecursionError: maximum recursion depth exceeded
С#, console:
dotnet run
Entering F(2024)
...
Entering F(1)
Returning 1 for F(1)
...
Returning 7,257415615307994E+306 for F(170)
Returning ∞ for F(171)
...
Returning ∞ for F(2023)
Entering F(2022)
...
Entering F(1)
Returning 1 for F(1)
...
Returning 7,257415615307994E+306 for F(170)
Returning ∞ for F(171)
...
Returning ∞ for F(2022)
не число