带有JavaScript的斐波那契系列

问题描述 投票:-3回答:8

var var1 = 0;
var var2 = 1;
var var3;

var num = 20;

document.write(var1 + "<br />");
document.write(var2 + "<br />");

for (var i = 3; i <= num; i++) {
  var3 = var1 + var2;
  var1 = var2;
  var2 = var3;

  document.write(var3 + "<br />");
}

[最好,我正在做斐波那契数列,但是我希望看到提示消息,所以您可以填写一个数字,然后填写斐波那契数列。谁能帮助我?我现在上面有。

javascript html fibonacci
8个回答
2
投票

我已经创建了演示,希望对您有帮助。

var i;
var fib = [0, 1];
var limit = window.prompt('Enter the limit for your series:', '');
for (i = 2; i < parseInt(limit); i++) {
    fib[i] = fib[i - 2] + fib[i - 1];
}
console.log(fib);

Demo Link


1
投票

function myFunction() {
    var n = document.getElementById("myNumber").value;
    document.getElementById("demo").innerHTML = fibonacciGenerator (n);
}

var sequence = [0]; // sequence = []; if you want sequence [1] = 1;
var previousNumber = 1;
var presentNumber = 0;
var sum = 0;
 
function fibonacciGenerator (n) {
  
    while (sequence.length < n) {
     sum = previousNumber + presentNumber;
     previousNumber = presentNumber;
     presentNumber = sum;
     sequence.push(sum);
     
    }
    return (sequence);
}
<!DOCTYPE html>
<html>
<body>

<h1>Fibonacci Generator </h1>

<input type="number" id="myNumber" value="0">

<p>Enter a number to generate Fibonacci array.</p>

<button onclick="myFunction()">Try it</button>


<p id="demo"></p>


</body>
</html>

0
投票

您需要使用提示框获取电话号码:

window.prompt("sometext","defaultText");

http://www.w3schools.com/js/js_popup.asp


0
投票

我希望这是您想要的。

HTML

Which sequence of the Fibonacci pattern do you want to find?
<br><br>
<input type="text" id="inputtext">
<br><br>
<input type="button" value="Find out" id="btn">
<br><br>
<b id="ID"></b>

JS

    function add(a, b) {
    while (a.length < b.length) a.unshift(0);
    while (a.length > b.length) b.unshift(0);
    var carry = 0,
        sum = [];
    for (var i = a.length - 1; i >= 0; i--) {
        var s = a[i] + b[i] + carry;
        if (s >= 10) {
            s = s - 10;
            carry = 1;
        } else {
            carry = 0;
        }
        sum.unshift(s);
    }
    if (carry) sum.unshift(carry);
    return sum;
}

function fib(n) {
    var f1 = [0];
    var f2 = [1];

    while (n--) {
        var f3 = add(f1, f2);
        f1 = f2;
        f2 = f3;
    }
    return f1.join("");
}

document.getElementById("btn").onclick = function () {
        var inputnum = parseFloat(document.getElementById("inputtext").value);
        document.getElementById("ID").innerHTML = fib(inputnum).toString();
};

Fiddle


0
投票
var number = prompt("Enter number ");

.......您的代码....


0
投票

您可以执行以下操作:

    var var1 = 0;
    var var2 = 1;
    var var3;
    var num = window.prompt("Enter the limit for your series:","");
    //var num = 20;
    var str = '';
    str+=var1+','+var2;

    for(var i=3; i <= parseInt(num);i++)
    {
        var3 = var1 + var2;
        var1 = var2;
        var2 = var3;
        str+=','+var3;
    }
    document.write(str);

0
投票
<!doctype html>
<html lang="en">
 <head>
 <body>

 <script type="text/javascript">
 var f1=0,f2=1,f3;
 var i;
alert("enter a text"+n);
 var n=prompt("enter the number");
 document.write("the fibonacci series is "+"<br/>");

   for(i=2;i<=n;i++)
   {

       f3=f1+f2;
       f1=f2;
       f2=f3;
     document.write(f3+"<br/>");   
   }
   </script>
   <style>

  body {background-color:#66ff66}
 </style>

 </head>
 </body>

0
投票

i提出了此解决方案,以获得n指数斐波那契值。您可以使用findFac0();传递获得斐波那契值所需的索引。

function findFac(n){
if (n===1) 
  {
   return [0, 1];
  } 
  else 
  {
    var s = findFac(n - 1);
    s.push(s[s.length - 1] + s[s.length - 2]);
    return s;
  }
}

function findFac0(n){
var vv1 = findFac(n);
return vv1[n-1];
}


console.log(findFac0(10));
© www.soinside.com 2019 - 2024. All rights reserved.