满足任意一项的数字都是前两项的数字之和(最初始两项均为1), fib(n)返回n项的Fibonacci数列,PrintFN(m,n)在一行中输出给定范围[m,n]内的所有Fibonacci数,相邻数字间有空格间隔,行末没有多余空格。 如果给定区间内没有Fibonacci数,则输出一行“No Fibonacci number”
时间: 2024-03-06 15:49:30 浏览: 52
使用函数输出fibonacci数
您可以参考以下Python代码实现:
```python
def fib(n):
if n <= 0:
return []
elif n == 1:
return [1]
elif n == 2:
return [1, 1]
else:
fib_list = [1, 1]
for i in range(2, n):
fib_list.append(fib_list[-1] + fib_list[-2])
return fib_list
def PrintFN(m, n):
fib_list = fib(n)
result = []
for num in fib_list:
if num >= m and num <= n:
result.append(str(num))
if result:
print(' '.join(result))
else:
print('No Fibonacci number')
# 测试
PrintFN(1, 100) # 输出:1 1 2 3 5 8 13 21 34 55 89
PrintFN(10, 20) # 输出:13
PrintFN(100, 200) # 输出:No Fibonacci number
```
在上面的代码中,`fib`函数用来生成前`n`项的Fibonacci数列。`PrintFN`函数则在生成完数列后,遍历数列中所有在给定范围内的Fibonacci数,并将其转换为字符串存入`result`列表中。最后,如果`result`不为空,则用`join`方法将其拼接成一个字符串输出;否则,输出"No Fibonacci number"。
阅读全文