• 第6章函数-4 使用函数输出指定范围内Fibonacci数的个数


    本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。 所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,fib(0)=fib(1)=1。其中函数fib(n)须返回第n项Fibonacci数;函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。

    函数接口定义:

    在这里描述函数接口。例如:
    fib(n),返回fib(n)的值
    PrintFN(m,n),用列表返回[m, n]中的所有Fibonacci数。
    
    

    裁判测试程序样例:

    在这里给出函数被调用进行测试的例子。例如:
    /* 请在这里填写答案 */
    
    m,n,i=input().split()
    n=int(n)
    m=int(m)
    i=int(i)
    b=fib(i)
    print("fib({0}) = {1}".format(i,b))
    fiblist=PrintFN(m,n)
    print(len(fiblist))

    代码如下:

    def fib(n):
        f1 = 1
        f2 = 1
        f3 = 1
        while n>=2:
            f3 = f1 + f2
            f1 = f2
            f2 = f3
            n -= 1
        return f3
    
    def PrintFN(m,n):
        list1 = list(range(m,n+1))
        list2 = list()
        key = n
        i = 1
        while True:
            if fib(i) in list1:
                list2.append(int(fib(i)))
            if fib(i) >= key:
                break
            i += 1
        return list2
            #蒽?

    这个也不难,仔细看就能看明白的。

    另外我的PrintFn函数有点问题,但是测试能通过。

    运行时会出现如下警告,但是不影响运行。

    WARNING: Pygame Zero mode is turned on (Run → Pygame Zero mode),
    but pgzero module is not found. Running program in regular mode.

    先这样,后面有时间再研究。


    读书和健身总有一个在路上

  • 相关阅读:
    图论模型--dijstra算法和floyd算法
    灰色预测模型
    多属性决策
    层次分析法
    一元多项式
    9.8一些错误的原因
    http协议笔记(不全)
    计网笔记1.18(不全)
    数据库基本操作
    flask-数据库
  • 原文地址:https://www.cnblogs.com/Renqy/p/12768262.html
Copyright © 2020-2023  润新知