斐波那契数列 JS
问题:
给出一个数字,找出它是斐波那契数列中的第几个数
斐波那契数列 [1, 1, 2, 3, 5, 8, 13, ...]
,后一个数字是前两个数字之和
输入的数字大于等于 2
如果输入数字不存于斐波那契数列中,返回 -1
function demo(num) {//初始数据const start = [1, 1]const res = DiGui(start, num)return res
}function DiGui(start, num) {const end = start[0] + start[1]if (end === num) {//找到了,输出return end} else if (end > num) {//不存在return -1} else if (end < num) {//继续找return DiGui([start[1], end], num)}
}console.log(demo(5))//5
console.log(demo(13))//13
console.log(demo(9))//-1