(Recursion)
(Recursion)
遞迴的結構
def recursive_function(parameters): if base_case_condition: return base_case_value else: return recursive_function(modified_parameters)
舉例#1
用迴圈&遞迴計算階乘
迴圈
def factorial_iterative(n): result = 1 for i in range(1, n + 1): # 從 1 到 n result *= i # 累乘 return result # 使用迴圈計算階乘 result_iterative = factorial_iterative(int(input())) print(result_iterative)
遞迴
def factorial_recursive(n): if n == 0: # 基礎情況 return 1 else: return n * factorial_recursive(n - 1) # 遞迴調用 result_recursive = factorial_recursive(int(input())) print(result_recursive)
迴圈
def factorial_iterative(n): result = 1 for i in range(1, n + 1): # 從 1 到 n result *= i # 累乘 return result # 使用迴圈計算 5 的階乘 result_iterative = factorial_iterative(5) print(result_iterative) # 輸出: 120
迴圈過程:
遞迴
def factorial_recursive(n): if n == 0: # 基礎情況 return 1 else: return n * factorial_recursive(n - 1) # 遞迴調用 # 使用遞迴計算 5 的階乘 result_recursive = factorial_recursive(5) print(result_recursive) # 輸出: 120
遞迴過程:
遞迴:
迴圈:
(一題平均3分鐘)
例題#1