#javascript
#javascript
Вопрос:
Добрый день! Мне нужна помощь.
Я не могу получить правильный цикл для последовательности Фибоначчи. Мне нужно ввести первое и второе число, затем добавить их, чтобы получить третье число. Чтобы получить четвертое число, мне нужно добавить второе и третье. Проблема в том, что числа не складываются, 0 1 должно быть 1, но отображается 01.
Я надеюсь, что кто-нибудь мог бы мне помочь. Заранее спасибо!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fibonacci
</title>
</head>
<body>
<p>Enter first number: <input id="first" type="number"></p>
<p>Enter second number: <input id="second" type="number"></p>
<button onClick="fibonacci()">Submit</button>
<p>Output: <p id="output"></p></p>
<script type="text/javascript">
function fibonacci(){
num1 = document.getElementById('first').value;
num2 = document.getElementById('second').value;
next = 0;
limit = 10;
document.write(num1 ', ');
document.write(num2 ', ');
for(var i = 3; i <= limit; i ){
next = num1 num2;
num1 = num2;
num2 = next;
document.write(next ', ');
}
}
</script>
</body>
</html>
Комментарии:
1. 0 1 должно быть 1, но оно отображает 01 , не заглядывая в ваш код, это должна быть конкатенация строк, а не добавление чисел, поэтому вам нужно преобразовать строку в число перед добавлением
Ответ №1:
Проблема в том, что числа не складываются, 0 1 должно быть 1, но отображается 01.
причина в том, что 0 и 1 являются строкой, а не числом. итак, у вас есть 01
next = Number(num1) Number(num2)
Комментарии:
1. Простая проблема, но сложная для меня. Хе-хе
Ответ №2:
Вам нужно преобразовать переменные в тип number, добавить знак перед num1 и num2
for(var i = 3; i <= limit; i ){
next = num1 num2;
num1 = num2;
num2 = next;
document.write(next ', ');
}
Комментарии:
1. спасибо!, я носитель испанского языка, и у меня всегда одна и та же ошибка