华为外包python面试题-Python实现斐波那契数列
假设你正在应聘华为外包公司的Python开发岗位,以下是一个可能的面试题:
面试题目:Python实现斐波那契数列
问题描述:
请编写一个Python程序,实现计算斐波那契数列的第n项的值。斐波那契数列是一个经典的数列,其中每一项都是前两项的和。数列的前几项为:0, 1, 1, 2, 3, 5, 8, 13, 21, ...
示例:
输入n=6,输出为8;输入n=9,输出为21。
解题思路:
斐波那契数列的计算可以使用递归或迭代的方法。下面将为大家提供使用迭代的解题思路。
解题步骤:
1. 定义两个变量a和b,分别表示数列的前两项,初始值分别为0和1。
2. 使用循环迭代n次,每次计算a和b的和,并将和赋值给b,再将b的值赋给a。
3. 循环结束后,a的值就是斐波那契数列的第n项的值。
Python代码实现:
def fibonacci(n):
if n <= 0:
return "输入错误,请输入大于0的整数"
elif n == 1:
return 0
elif n == 2:
return 1
a, b = 0, 1
for i in range(3, n+1):
a, b = b, a + b
return b
# 测试
print(fibonacci(6)) # 输出:8
print(fibonacci(9)) # 输出:21
这是一个常见的面试题目,面试官可能会根据你的解答展开更多问题,例如如何使用递归实现斐波那契数列,或者如何处理特殊情况(如输入非正整数)。在面试过程中,除了正确的解答问题,展现清晰的代码思路和良好的编程风格也是非常重要的。希望以上面试题案例对你有所帮助!
相关推荐HOT
更多>>jvm组成部分和作用是什么?
JVM(Java虚拟机)是Java程序运行的基础,它由以下几个组成部分组成,每个部分都有不同的作用:1.类加载器(ClassLoader):类加载器负责将Java字节...详情>>
2023-06-28 17:47:20如何实现js获取日期的年月日
在JavaScript中,可以使用`Date`对象来获取日期的年、月和日。以下是几种常见的方法:1.获取当前日期的年、月和日:varcurrentDate=newDate();v...详情>>
2023-06-26 13:55:49arraylist和linkedlist有什么区别
ArrayList和LinkedList是Java集合框架中两种常用的List实现类,它们在内部实现和性能特点上有一些区别。1.内部实现:ArrayList基于数组实现,而...详情>>
2023-06-20 11:25:54什么是webshell
它通常是一段可以被Web服务器解释执行的脚本代码,如PHP、ASP、JSP等,可以在远程控制下执行系统命令、修改文件、操纵数据库等操作,甚至可以控...详情>>
2023-03-14 10:50:10