循环的斐波那契代码不返回值
Fibonacci code for loop not returning values
我正在尝试制作一个代码,您可以在其中输入一个数字 n
,而代码 returns 您可以输入斐波那契数列中的数字。
例子:
输入n=1时密码returns1,输入n=2时密码returns1,输入n=3时密码returns2,以此类推。
我是 javascript 的新手,所以我不知道该怎么做。
<html>
<body>
<script type="text/javascript">
function fibonacci(){
var a, b, n, result;
a = 0;
b = 1;
for (var i = 0; i <= n; i++)
{
if(n == 1)
{
return 1;
}
if(n == 0)
{
return 0;
}
result = a + b;
a = b;
b = result;
}
document.getElementById("result").value = result;
}
</script>
<form>
<input id="n" type="number" placeholder="N">
<input id="result" type="number" placeholder="Result" readonly="">
<input id="calculate" type="button" value="Calculate" onclick="fibonacci()">
<input type="reset" value="Clear">
</form>
</body>
</html>
你没有初始化n吧?
在 for 循环之前添加这一行。
n = document.getElementById("n").value
检查您的浏览器控制台是否有错误,它会正确显示此类错误..
- 你应该初始化n。
- 然后从 for 循环块中删除 n==0 和 n==1。
- 更新您的代码,
<html>
<body>
<script type="text/javascript">
function fibonacci(){
var n = document.getElementById("n").value;
var result;
var a = 0;
var b = 1;
if(n == 0 || n == 1)
{
result = n;
}
else{
for (var i = 2; i <= n; i++)
{
result = a + b;
a = b;
b = result;
}
}
document.getElementById("result").value = result;
}
</script>
<form>
<input id="n" type="number" placeholder="N">
<input id="result" type="number" placeholder="Result" readonly="">
<input id="calculate" type="button" value="Calculate" onclick="fibonacci()">
<input type="reset" value="Clear">
</form>
</body>
</html>
我正在尝试制作一个代码,您可以在其中输入一个数字 n
,而代码 returns 您可以输入斐波那契数列中的数字。
例子:
输入n=1时密码returns1,输入n=2时密码returns1,输入n=3时密码returns2,以此类推。
我是 javascript 的新手,所以我不知道该怎么做。
<html>
<body>
<script type="text/javascript">
function fibonacci(){
var a, b, n, result;
a = 0;
b = 1;
for (var i = 0; i <= n; i++)
{
if(n == 1)
{
return 1;
}
if(n == 0)
{
return 0;
}
result = a + b;
a = b;
b = result;
}
document.getElementById("result").value = result;
}
</script>
<form>
<input id="n" type="number" placeholder="N">
<input id="result" type="number" placeholder="Result" readonly="">
<input id="calculate" type="button" value="Calculate" onclick="fibonacci()">
<input type="reset" value="Clear">
</form>
</body>
</html>
你没有初始化n吧?
在 for 循环之前添加这一行。
n = document.getElementById("n").value
检查您的浏览器控制台是否有错误,它会正确显示此类错误..
- 你应该初始化n。
- 然后从 for 循环块中删除 n==0 和 n==1。
- 更新您的代码,
<html>
<body>
<script type="text/javascript">
function fibonacci(){
var n = document.getElementById("n").value;
var result;
var a = 0;
var b = 1;
if(n == 0 || n == 1)
{
result = n;
}
else{
for (var i = 2; i <= n; i++)
{
result = a + b;
a = b;
b = result;
}
}
document.getElementById("result").value = result;
}
</script>
<form>
<input id="n" type="number" placeholder="N">
<input id="result" type="number" placeholder="Result" readonly="">
<input id="calculate" type="button" value="Calculate" onclick="fibonacci()">
<input type="reset" value="Clear">
</form>
</body>
</html>