用JavaScript实现Fibonacci级数

用JavaScript实现Fibonacci级数,javascript,html,fibonacci,Javascript,Html,Fibonacci,var var1=0; VarVar2=1; var var3; var-num=20; 文件。写入(var1+“”); 文件。写入(var2+“”); 对于(var i=3;i我希望这就是您所寻找的 HTML: Which sequence of the Fibonacci pattern do you want to find? <br><br> <input type="text" id="inputtext"> <br><br>

var var1=0;
VarVar2=1;
var var3;
var-num=20;
文件。写入(var1+“
”); 文件。写入(var2+“
”);
对于(var i=3;i我希望这就是您所寻找的

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>
    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();
};
您要查找斐波那契模式的哪个序列?






JS

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>
    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();
};
功能添加(a、b){
而(a.lengthb.length)b.unshift(0);
var进位=0,
总和=[];
对于(var i=a.length-1;i>=0;i--){
var s=a[i]+b[i]+进位;
如果(s>=10){
s=s-10;
进位=1;
}否则{
进位=0;
}
未移位金额;
}
如果(进位)和取消进位(进位);
回报金额;
}
函数fib(n){
var f1=[0];
变量f2=[1];
而(n--){
变量f3=相加(f1,f2);
f1=f2;
f2=f3;
}
返回f1.join(“”);
}
document.getElementById(“btn”).onclick=function(){
var inputnum=parseFloat(document.getElementById(“inputtext”).value);
document.getElementById(“ID”).innerHTML=fib(inputnum.toString();
};

.

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

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


……您的代码……

您可以执行以下操作:

    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);
var var1=0;
VarVar2=1;
var var3;
var num=window.prompt(“输入序列的限制:,”);
//var-num=20;
var-str='';
str+=var1+','+var2;
对于(变量i=3;i

变量f1=0,f2=1,f3;
var i;
警报(“输入文本”+n);
var n=提示(“输入数字”);
编写(“斐波那契级数为“+”
); 对于(i=2;i
函数myFunction(){
var n=document.getElementById(“myNumber”).value;
document.getElementById(“demo”).innerHTML=fibonacciGenerator(n);
}
var sequence=[0];//sequence=[];如果您希望sequence[1]=1;
var previousNumber=1;
var presentNumber=0;
var总和=0;
函数fibonacciGenerator(n){
while(sequence.length

斐波那契发生器
输入一个数字以生成斐波那契数组

试试看


我已经创建了演示,希望它能帮助您

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);
vari;
var fib=[0,1];
var limit=window.prompt('输入序列的限制:','');
对于(i=2;i

我想出了这个解决方案来获取n个索引Fibonacci值。您可以使用
findFac0();
传递获取Fibonacci值所需的索引

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));

使用ES6发电机

function* fiboGen(len, current = 0, next = 1) {
      if (len === 0) {
        return current;
      }
      yield current;
      yield* fiboGen(len - 1, next, current + next);
    }
    
    const fibo = [...fiboGen(10)];
    
    console.log(fibo);
//[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

我试过这个:它可能有用:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Fibonacci</title>
    <style>
        * {
            outline: 0px;
            margin: 0px;
        }

        input[type="number"] {
            color: blue;
            border: 2px solid black;
            width: 99.58vw;
        }
    </style>
</head>

<body>
    <div id="myDiv" style="color: white;background-color: blue;">Numbers Here</div>
    <input type="number" id="input1" oninput="fibonacciProgram(this.value)" placeholder="Type Some Numbers Here">
    <script>
        function fibonacciProgram(numberCount) {
            let resultElement = document.getElementById("myDiv");
            resultElement.innerHTML = " ";
            if (isNaN(numberCount) || numberCount <= 0) {
                resultElement.innerHTML = "please enter a number";
                return;
            }
            let firstBox = 0;
            let secondBox = 1;
            let swichBox;
            let entries = [];
            entries.push(secondBox);
            while (numberCount > 1) {
                swichBox = firstBox + secondBox;
                entries.push(swichBox);
                firstBox = secondBox;
                secondBox = swichBox;
                numberCount--;
            }
            resultElement.innerHTML = entries.join(', ');
        }
    </script>
</body>

</html>

斐波那契
* {
大纲:0px;
边际:0px;
}
输入[type=“number”]{
颜色:蓝色;
边框:2件纯黑;
宽度:99.58vw;
}
这里的数字
函数fibonacci程序(numberCount){
让resultElement=document.getElementById(“myDiv”);
resultElement.innerHTML=“”;
如果(isNaN(数字计数)| |数字计数1){
swichBox=firstBox+secondBox;
输入。推送(开关盒);
第一箱=第二箱;
secondBox=开关盒;
数字计数--;
}
resultElement.innerHTML=entries.join(',');
}

用户应该填写什么数字?应该返回什么?您有一些输入/输出的示例吗?这是否回答了您的问题?不完全正确。我可以向您填写代码提示,我也希望这样。但是当您编写代码时,它也会提示您查看回复,我希望在输入(html)中查看代码。我不想在提示中看到答案,但要在html代码中看到答案。谢谢you@Gigi:在您的问题中,请花时间明确说明您想要什么,因为您没有解释您自己或您的要求,所以您得到的答案不完整或不正确。用户应该做什么?确切地说,应该做什么?Sorr我的英语很差。翻译很差。不,我有一个问题。。。。。