#javascript #html #fibonacci
#javascript #HTML #фибоначчи
Вопрос:
Я пытаюсь создать код, в котором вы вводите число n
, и код возвращает вам число в последовательности Фибоначчи. Пример: при вводе n = 1 код возвращает 1, а при вводе n = 2 код возвращает 1, а при вводе n = 3 код возвращает 2 и так далее. Я совсем новичок в javascript, поэтому я не знаю точно, как это сделать.
<html>
<body>
<script type="text/javascript">
function fibonacci(){
var a, b, n, resu<
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 = resu<
}
document.getElementById("result").value = resu<
}
</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>
Комментарии:
1. i <=n не может произойти, если n равно нулю, нет?
2. добавьте эту строку
n =document.getElementById("n").value
3. Где именно ?
Ответ №1:
Вы не инициализировали n, верно?
Добавьте эту строку перед циклом for .
n = document.getElementById("n").value
Проверьте консоль вашего браузера на наличие ошибок, она правильно отображает ошибки такого рода..
Комментарии:
1. Это работает, но моя проблема сейчас в том, что когда я делаю n = 0 / n = 1, код не работает. Также, если я поставлю n = 2, он должен вернуть 1, но возвращает 2
Ответ №2:
- Вы должны инициализировать n .
- Затем удалите n==0 и n==1 из блока цикла for .
- Обновите свой код следующим образом,
<html>
<body>
<script type="text/javascript">
function fibonacci(){
var n = document.getElementById("n").value;
var resu<
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 = resu<
}
}
document.getElementById("result").value = resu<
}
</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>