javascript - 使用 ASP.NET MVC JavaScript 的斐波那契算法

标签 javascript asp.net .net asp.net-mvc fibonacci

正如标题所说,我正在尝试构建一个函数,让用户输入一个整数,如果它是斐波那契数或不是斐波那契数,我会在没有硬编码的情况下得到一个 JavaScript 警报,到目前为止我已经尝试过了并且它有效,但是难道没有一种算法可以生成所有斐波那契数列而不是这些选定的数列吗?

代码:

Controller :

using System;
using System.Linq;
using System.Web.Mvc;
using System.Xml.Linq;
using Andre_Kordasti___Programmeringsuppgift.Models;

namespace Andre_Kordasti___Programmeringsuppgift.Controllers
{
    public class HomeController : Controller
    {

     public ActionResult Fibonacci()
        {
            return View();
        }
    }
}

查看:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Fibonacci</h2>

<input class="form-control" type="text" name="fibonacciTextbox" id="fibonacciTextbox" />
<br />
<button class="btn btn-primary" onclick="fibonacciFunction()">Sök</button>

JavaScript:

  function fibonacciFunction()
{
    var num = document.getElementById('fibonacciTextbox').value

    function isFibonacci(num)
    {
        var first = 0;
        var second = 1;
        var third = first + second;

        if (num === first)
        {
            return true;
            alert('Fibonacci Number!')
        }

        while (third <= num)
        {
            if (third === num)
            {
                alert('Fibonacci Number!')
                return true;
            }

            first = second;
            second = third;
            third = first + second;
        }

        alert('Not Fibonacci Number!')

        return false;
    }
}

最佳答案

可以通过检查 (5*n*n + 4) 或 (5*n*n - 4) 或两者的结果是否为完美平方来确定斐波那契数。

function isFibonacci(num) {
    return isPerfectSquare(5*num*num + 4) || isPerfectSquare(5*num*num - 4);
}

function isPerfectSquare(n) {
    return Math.sqrt(n) % 1 === 0;
}

注意:虽然有一些方法可以通过执行递归函数或创建循环来实现,但这些方法对于大数来说效率低下。

关于javascript - 使用 ASP.NET MVC JavaScript 的斐波那契算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36091084/

相关文章:

c# - 使用或不使用 "this"关键字来引用同一类中的方法有区别吗?

javascript - 使用伪类从父元素遍历到第一个子元素未按预期工作

javascript - 获取 HTML 源代码作为字符串

javascript - 隐藏的 ASP.NET 文本框值无法使用 jquery

asp.net - 通过 TSQL 填充 aspnet_Profile 表

C# SQL查询异常

Javascript/JQuery – 几个问题,应该很简单

javascript - Reveal JS 仅使部分屏幕响应滑动手势

c# - 如何从 Lucene.Net 的索引文件中读取行

.net - WebClient、HttpWebRequest 和 HttpClient 的最大并发请求数