Javascript 我试着用斐波那契数从输入的数字中打印出15个数字
我希望用户输入一个数字,我希望我的javascript从用户输入的数字中输出接下来的15个数字Javascript 我试着用斐波那契数从输入的数字中打印出15个数字,javascript,html,fibonacci,Javascript,Html,Fibonacci,我希望用户输入一个数字,我希望我的javascript从用户输入的数字中输出接下来的15个数字 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fibonacci</title>
<body>
<P>Please input a number between 10 and 25</P>
<input type text="text" id="integer" />
<input type="button" id="Enter" value="Enter" onclick="fibonacci_series(integer.value)"/>
<p id="output"></p>
<p id="demo"></p>
<script type="text/javascript">
var fibonacci_series = function (n)
{
if (n ==1)
{
var loop = [0,1];
document.getElementById("output").innerHTML = loop;
return loop;
}
else
{
var s = fibonacci_series(n - 1);
s.push(s[s.length - 1] + s[s.length - 2]);
document.getElementById("output").innerHTML =s;
return s;
}
};
</script>
</body>
</head>
</html>
斐波那契
请输入一个介于10和25之间的数字
var fibonacci_级数=函数(n)
{
如果(n==1)
{
var循环=[0,1];
document.getElementById(“输出”).innerHTML=loop;
回路;
}
其他的
{
var s=斐波那契级数(n-1);
s、 推(s[s.length-1]+s[s.length-2]);
document.getElementById(“输出”).innerHTML=s;
返回s;
}
};
下面是当我输入10时它的输出
0,1,1,2,3,5,8,13,21,34,55
我希望能够输入一个介于10-25之间的整数,并让它从用户输入中打印出接下来的15个斐波那契数。
var btn=document.getElementById('btn');
btn.addEventListener('click',()=>console.log(fibonacci_series(10));
var fibonacci_级数=函数(n,c=0){
如果(c==0){
n+=15
}
如果(n==1)
{
var循环=[0,1];
回路;
}否则{
var s=斐波那契数列(n-1,c+1);
s、 推(s[s.length-1]+s[s.length-2]);
返回s;
}
};代码>
单击我
非递归解决方案,因为您已经在构建值列表,并且溢出调用堆栈的风险较小
如果我正确理解了问题陈述,您对打印接下来的15个fib数字感兴趣,这意味着当您输入10时,您希望打印从第10个fib数字到第25个fib数字
var fibonacci_series = function (n)
{
n = parseInt(n);
ln = n + 15;
s = [0 , 1];
var i = 1;
while (i < ln){
s.push(s[s.length - 2] + s[s.length - 1]);
++i;
}
document.getElementById("output").innerHTML = s.slice(n);
return s;
};
var fibonacci_级数=函数(n)
{
n=parseInt(n);
ln=n+15;
s=[0,1];
var i=1;
而(i
鉴于你下面的评论,这是微不足道的
var fibonacci_series = function (n)
{
n = parseInt(n);
s = [0 , n];
var i = 0;
while (i < 15){
s.push(s[s.length - 2] + s[s.length - 1]);
++i;
}
document.getElementById("output").innerHTML = s.slice(n);
return s;
};
var fibonacci_级数=函数(n)
{
n=parseInt(n);
s=[0,n];
var i=0;
而(i<15){
s、 推(s[s.length-2]+s[s.length-1]);
++一,;
}
document.getElementById(“输出”).innerHTML=s.slice(n);
返回s;
};
请提供比“我做错了什么”更好的问题陈述。发生了什么不应该发生的事?什么是不应该发生的?你在控制台中收到了什么错误消息?你说得对,我的错。我想让用户输入一个介于10和25之间的数字,假设用户打印12。我想把数字加起来,比如0,12,12,24,36,60,96等等,一直加到15个数字printed@gwagner209更新了答案