6-2 使用函数输出指定范围内的Fibonacci数

本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数。 所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。其中函数fib须返回第n项Fibonacci数;函数PrintFN要在一行中输出给定范围[m, n]内的所有Fibonacci数,相邻数字间有一个空格,行末不得有多余空格。如果给定区间内没有Fibonacci数,则输出一行“No Fibonacci number”。

函数接口定义:

在这里描述函数接口。例如:

fib(n)
PrintFN(m,n,i)

裁判测试程序样例:

在这里给出函数被调用进行测试的例子。例如:

/* 请在这里填写答案 */


m,n,i=input().split()
n=int(n)
m=int(m)
i=int(i)
PrintFN(m,n,i)

输入样例:

在这里给出一组输入。例如:

20 100 7

输出样例:

在这里给出相应的输出。例如:

fib(7) = 13
21 34 55 89
def fib(n):
    if n == 1 or n == 2:
        return 1
    if n > 2:
        return fib(n-1) + fib(n-2)
def PrintFN(m, n, i):
    print("fib(%d) = %d"%(i, fib(i)))
    count = 0
    list = []
    for i in range(1, 21):
        if fib(i) > m and fib(i) < n:
            count += 1
            list.append(fib(i))
    if count == 0:
        print("No Fibonacci number")
    for j in range(len(list)):
        if j == len(list) - 1:
            print(list[j])
        else:
            print(list[j], end=" ")
m, n, i = input().split()
n = int(n)
m = int(m)
i = int(i)
PrintFN(m, n, i)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值