首页 > 其他 > 详细

几个常见的面试题目

时间:2019-05-13 00:01:26      阅读:382      评论:0      收藏:0      [点我收藏+]

一:实现斐波那契数列数列,输入一个数列的位置数,返回斐波那契数列相应位置的值 斐波那契数列[1,1,2,3,5,8,13,21,34.....],第一个数是1,后面的数等于前两个数相加的结果 

 

def func(num):

    if (num == 1 or num == 2):
return 1
else:
return func(num - 1) + func(num - 2)

 二、古典问题:有一对出兔子,从第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(意味着生长期为2个月)

有同学对题目理解有误区,做下面几点说明

第一点:一对兔子生一对小兔子不是一只兔子生一对

第二点:小兔子出生之后,要长两个月,第三个月才开始生兔子

第三点:通过传函数的参数,来查询若干月之后的兔子总数(传入1就是第一个月,2就是第二个月)

 

def func(num):
if (num == 1 or num == 2):
return 2
else:
return func(num - 1) + func(num - 2)

 

 三、小明有100元钱 打算买100本书,A类书籍5元一本,B类书籍3元一本,C类书籍1元两本,请用程序算出小明一共有多少种买法?(面试笔试题)

book = 100
money = 100
num = 0
for a in range(int(money/5)):
for b in range(int(money / 3)):
for c in range(int(101)):
if a*5+b*3+c*0.5 <= 100 and a+b+c == 100:
num += 1
print(num)

几个常见的面试题目

原文:https://www.cnblogs.com/666666pingzi/p/10854092.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!