编程实现求n的阶乘,要求使用递归与非递归两种方法。 。编程实现求斐波那契数列的前20个数,要求每行输出5个数据,即每输出5个数即换行
时间: 2024-10-22 14:05:45 浏览: 42
编写一个函数来计算 n 的阶乘,你可以采用递归和非递归两种方法:
**递归方法(Python):**
```python
def factorial_recursive(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial_recursive(n - 1)
# 计算并打印阶乘结果
for i in range(1, 11): # 阶乘通常只对较小的整数有效,这里取前10
print(factorial_recursive(i), end=" ")
```
**非递归方法(Python):**
```python
def factorial_iterative(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
# 打印阶乘结果
for i in range(1, 11):
print(factorial_iterative(i), end=" ")
# 斐波那契数列前20个数
def fibonacci(n):
fib_sequence = [0, 1]
while len(fib_sequence) < n:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
return fib_sequence[:n]
# 每5个数换行
for i in range(0, len(fibonacci(20)), 5):
print(*fibonacci(i:i+5), "\n")
```
上述代码展示了如何计算阶乘并使用非递归方法生成斐波那契数列的前20项,每5个数换一行。如果需要更多帮助或有其他编程语言的需求,请告诉我。
阅读全文