zoukankan      html  css  js  c++  java
  • fibonacci数列-斐波那契数列-python编程

    未完待续~

    了解fibonacci数列:

    斐波纳契数列(Fibonacci Sequence),又称黄金分割数列。

    1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765……
    (1)fibonacci数列即斐波那契数列,它的特点是前面两个数的和等于后面的一个数,fib(0)=fib(1)=1.
    (2)斐波那契数列只有一个.

    (3)如果设F(n)为该数列的第n项(n∈N+)。那么这句话可以写成如下形式:

      F(1)=F(2)=1,F(n)=F(n-1)+F(n-2) (n≥3)

      显然这是一个线性递推数列。

    下面的例子fib(0)=fib(1)=1

    利用for循环

    输出范围内的数列:
    fibs = [1,1]
    for i in range(8):
    fibs.append(fibs[-2] + fibs[-1])
    # print(fibs)
    print(fibs) # [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

    输出特定个数元素的数列:
    fibs = [1,1]
    num = input('数列元素个数:')
    num=int(num)
    for i in range(num-2):
    fibs.append(fibs[-2] + fibs[-1])
    print(fibs)

    利用函数

    def fibs(num):
    result = [1,1]
    for i in range(num-2):
    result.append(result[-2] + result[-1])
    print(result)
    fibs(10)
    # [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

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

    函数接口定义:

    在这里描述函数接口。例如:
    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 6
    

    输出样例:

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

    fib(6) = 13
    4


    代码:

    def PrintFN(m,n,i):
    def fib(n):
    fibs = [1, 1]
    for i in range(n):
    fibs.append(fibs[-2] + fibs[-1])
    print("fib(%s)=%d"%(n,fibs[n]))
    fib(i)
    fibs = [1, 1]
    g = 0
    for i in range(n):
    fibs.append(fibs[-2] + fibs[-1])
    # print(fibs)
    if(m<fibs[i]<n):
    # print(fibs[i])
    g+=1 #数列个数
    print(g)



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








  • 相关阅读:
    分梨
    18岁生日
    马的移动
    摆积木
    杭电2093考试排名
    栈的应用——四则运算表达式求值
    用指针实现对二维数组元素的访问
    用多种方法访问字符数组元素
    fread()函数和fwrite()函数进行文件操作
    hdu-1431 素数回文
  • 原文地址:https://www.cnblogs.com/xuemo/p/10788545.html
Copyright © 2011-2022 走看看