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)








 

转载于:https://www.cnblogs.com/xuemo/p/10788545.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值