zoukankan      html  css  js  c++  java
  • 几个常见的面试题目

    一:实现斐波那契数列数列,输入一个数列的位置数,返回斐波那契数列相应位置的值 斐波那契数列[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)

    def fibo3(n):
        '''序列解包'''
        a, b = 1, 1
        for i in range(2, n+1):
            a, b = b, a+b
        return a

     二、古典问题:有一对出兔子,从第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(意味着生长期为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)
  • 相关阅读:
    C#添加修改删除文件文件夹大全
    实用且不花哨的js代码大全
    vs2005 2008快捷键
    C#:String.Format数字格式化输出
    获取农历日期
    Vim 常用快捷键
    一个简单的makefile示例及其注释
    nginx源码剖析(1)概要
    利用Vim 打造开发环境(一)>Linux 字符界面 vim的配置
    Ubuntu 9.10设置摘要
  • 原文地址:https://www.cnblogs.com/666666pingzi/p/10854092.html
Copyright © 2011-2022 走看看