用python实现一个计算Fibonacci数的函数
【问题描述】要求实现一个计算Fibonacci数的函数,并利用其实现另一个函数——输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1,即fib(0)=fib(1)=1)的数列。
其中函数fib(i)须返回第i项Fibonacci数;
函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。
要求输入区间范围m、n以及i打印输出区间[m,n]中Fibonacci数的数目,以及第i项Fibonacci数。
提示:Fibonacci数列从第0项开始。
【样例输入】20 100 6
【样例输出】fib(6) = 13
4
【样例说明】区间[20,100]中的Fibonacci数个数为4个,以及第6项Fibonacci数为13。
步骤一:定义fib(i)函数
def fib(i):if i==0 or i==1:return 1else:return fib(i-1)+fib(i-2) #满足任一项数字是前两项的和
解释:最开始前两项均为1,且Fibonacci数列从第0项开始。 Fibonacci数列就是满足任一项数字 是前两项的和。
步骤二:定义PrintFN(m,n)函数
函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。
def PrintFN(m,n):a=[]for i in range(25): #因为题目规定(0<m<n≤100000),而fib(24)<100000,fib(25)>100000if fib(i)>=m and fib(i)<=n:a.append(i)return a
步骤三:根据题目样例输入输出规定运用函数。
m,n,i=input().split()
m=int(m)
n=int(n)
i=int(i)
j=fib(i)
print("fib({0}) = {1}".format(i,j))
list1=PrintFN(m,n)
print(len(list1))
输入样例
20 100 6
输出样例
fib(6) = 13
4
易错点总结:
1、容易忽略Fibonacci数列从第0项开始,且前两项均为1.
2、容易忽略m,n的取值范围而缺少对定义printfn()函数时的限制
码字不易,觉得有用的话就点个小赞收藏起来慢慢看吧
用python实现一个计算Fibonacci数的函数相关推荐
- python构建一个计算列表中位数的函数_python学习之数据科学库
numpy创建数组 #导入numppy库, 对numpy重命名为np. import numpy as np #1). 创建数组: a, b, c创建的数组相同, 任选一种; #方法一: 直接将数组/ ...
- python编写一个判断完数的函数过程_1.编写一个函数判断一个整数是否是完数(一个数如果恰好等于他的因子之和,这个数就称为完数,如6=1+2+3)...
[判断题]22. 在底稿列表页签,单击按钮"刷新",或单击右键菜单"刷新",可以刷新底稿列表,同时刷新底稿状态. [判断题]18. 当选择按底稿分配情况显示底稿 ...
- python编写一个判断完数的函数过程_第4章-30 找完数 (20分)python
所谓完数就是该数恰好等于除自身外的因子之和.例如:6=1+2+3,其中1.2.3为6的因子.本题要求编写程序,找出任意两正整数m和n之间的所有完数. 输入格式: 输入在一行中给出2个正整数m和n(1 ...
- 如何用python写一个计算日期间隔的程序?
如何用python写一个计算日期间隔的程序? 文章目录 如何用python写一个计算日期间隔的程序? 前言 问题梳理 问题解决 写在后面 前言 为什么想起来写一个这样的程序呢? 前几天聊天的时候,突然 ...
- 编写一个判断完数的函数。完数是指一个数恰好等于它的因子之和,如6=1+2+3,6就是完数。
编写一个判断完数的函数.完数是指一个数恰好等于它的因子之和,如6=1+2+3,6就是完数. 程序之美 编写一个判断完数的函数.完数是指一个数恰好等于它的因子之和,如6=1+2+3,6就是完数. #in ...
- 编写一个判断完数的函数python_完数
计算完数的题 我错的忘记了 amount 需在第一重循环中初始化值为"0" public class Test { public static void main(String[] ...
- python编写一个名为collatz()的函数,它有一个名为number的参数,如果参数是偶数,那么collatz()就打印出number//2,如果number是奇数,collatz()就打印3*
[开发该软件的操作系统]:windows10 [软件开发环境/开发工具]:PyCharm [编程语言]:Python [开发目的]:这是老师布置的作业啦~ 供初学者参考学习 [开发者]:江西农业大学2 ...
- python定义一个解一元二次方程的函数
不讨论二次,一次参数都是零的情况,不讨论有虚数根的情况 思路: 利用求根公式做判断有无实数根b*b-4*a*c 利用求根公式进行求解 步骤: 构建一个三个形参的函数,做根的判别式: import ti ...
- 用Python写一个批量生成账号的函数(用户控制数据长度、数据条数)
# 1.写一个函数,批量生成一些注册使用的账号:产生的账号是以@163.com结尾,长度由用户输入,产生多少条也由用户输入,用户名不能重复,用户名必须由大写字母.小写字母.数字组成 import ra ...
最新文章
- 中文NLP的分词真有必要吗?李纪为团队四项任务评测一探究竟 | ACL 2019
- 8月份Github上最热门的Python开源项目
- 判断是否是2的N次方
- JavaScript中this详解
- 眼压与角膜厚度的关系
- python pip工具命令_python 工具链 包管理工具 pip
- 利用权限禁止QQ的自动升级(QQUpdateCenter)
- C++socket编程(四):4.1 跨平台封装XTcp类接口
- 基于NTT的循环码:RS码、BCH码、RM码
- web前端开发技术——第六章课后习题实验
- 单闭环直流调速系统仿真实验
- 日志服务器文档,日志服务器的搭建.docx
- 关于移植人脸识别功能到linux开发板
- 2021-01-22
- 腾讯微信面试题:侧重科班基础
- 安装sikuli报错:jnius/jnius_conversion.pxi:54:31: Casting temporary Python object to non-numeric non-Pyth
- C语言实现简单的线程池【转】
- Matlab画的玫瑰花
- 提高程序并发量的几个建议(不看保证后悔死你)
- 蓝牙nrf52832的架构和开发
热门文章
- HDFS文件压缩与解压缩
- 1781. 所有子字符串美丽值之和
- 华为怎么分屏操作技巧_第五人格昆虫学家虫群怎么用 昆虫学家操作技巧介绍...
- DT tableone各种花里胡哨的图 把dataframe导出成html 把矩阵变成html方便查看 类似于shinny功能 制作三线表等共功能 fextable 花里胡哨的工具 datatable
- 天猫精灵识别不灵敏的解决方法!
- 微信小程序开发:使用reLaunch跳转时报错的解决步骤
- 一个老程序员的心里话(大家一定读一读)
- Java中判断数组是否为空
- 大数据分析笔记 (4.2) - 逻辑回归分析(Logistic Regression)
- Spring Boot学习--starters