diff --git "a/\351\230\277\351\207\214\345\267\264\345\267\2642015\345\271\264\345\211\215\347\253\257\351\235\242\350\257\225\351\242\230" "b/\351\230\277\351\207\214\345\267\264\345\267\2642015\345\271\264\345\211\215\347\253\257\351\235\242\350\257\225\351\242\230" new file mode 100644 index 0000000000000000000000000000000000000000..487173a378116e6c74b0ad65a7ea4efbf398773a --- /dev/null +++ "b/\351\230\277\351\207\214\345\267\264\345\267\2642015\345\271\264\345\211\215\347\253\257\351\235\242\350\257\225\351\242\230" @@ -0,0 +1,26 @@ +请实现一个fibonacci函数,要求其参数和返回值如下所示: +/** + *@desc: fibonacci + *@param: count {Number} + *@return: result {Number} 第count个fibonacci值,计数从0开始 + fibonacci数列为:[1, 1, 2, 3, 5, 8, 13, 21, 34 …] + 则getNthFibonacci(0)返回值为1 + 则getNthFibonacci(4)返回值为5 + */ +function getNthFibonacci(count) { +} + +标准答案: +function fib(count) { + //参数判断 + var count = parseInt(count); + if (isNaN(count) || count < 0) { + return 0; + } + function f(count) { + if (count <= 1) + return 1; + return arguments.callee(count - 1) + arguments.callee(count - 2); //callee是装逼用的,直接用f也行 + } + return f(count); +}