- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个已启动并正在运行的 Haskell 函数,但它做错了事。
它应该输出一个斐波那契数列直到指定的最大数。
像这样:
fibonacciSequence 86
1 1 2 3 5 8 13 21 33 54
我的代码目前正在输出斐波那契数列中的前 10 个数字,而不是从 1 到 10 的斐波那契数列。
它输出 1 1 2 3 5 8 13 21 33 54,但它应该是 1,1,2,3,5,8。
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n - 2)
---print (fib n)
fibList n = map fib[1..n]
main =
do
putStrLn "The fibonacci series from 1 to n is:"
print (fibList 10)
如有任何帮助,我们将不胜感激。谢谢!
最佳答案
一种更有效的方法是生成一个(无限的)斐波那契数列:
fibs :: [Integer]
fibs = 0 : 1 : <strong>zipWith (+) fibs (tail fibs)</strong>
然后我们可以从列表中的一个大于 10 的那一刻开始停止列表 takeWhile :: (a -> Bool) -> [a] -> [a]
:
<strong>takeWhile</strong> (<= 10) fibs
这样效率更高,因为我们不需要为每个斐波那契数从零开始。此外,它在 O(k) 时间内构建了第 k 个项目。
关于Haskell Fibonacci 达到最大指定数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68615413/
所以我正在学习动态规划,我正在尝试测试我的内存解决方案与普通斐波那契解决方案。当我输入相当大的数字(如 43)时,我的内存解决方案需要永远运行,而正常的解决方案会在 5 - 6 秒后运行。这是否意味着
我必须找到一种方法来确定数据类型 long 在出现位溢出之前将保留斐波那契序列的多少次迭代。我不断收到错误: Exception in thread "main" java.lang.ArrayInd
从 F(n) 计算斐波那契数之和的最有效方法是什么?至 F(m)哪里F(n)和 F(m)分别是第 n 个和第 m 个斐波那契数,0 =< n <= m <109(其中 F(0)=0,F(1)=1)。
我有一个已启动并正在运行的 Haskell 函数,但它做错了事。 它应该输出一个斐波那契数列直到指定的最大数。 像这样: fibonacciSequence 86 1 1 2 3 5 8 13 21
我正在学习 Haskell,我写了一个简单的斐波那契函数: fib :: Int -> Int fib 1 = 1 fib 0 = 0 fib n = (fib (n-1)) + (fib (n-2)
我将使用 Javascript 编写一些代码。这是我们要做的: “使用闭包实现一个 javascript 斐波那契数列。具体来说,编写一个函数来存储两个连续的斐波那契数列,最初是 0 和 1。该函数还
这是一个程序,它接受一个命令行变量,将其解析为一个 int,输出是等于该命令行参数的斐波那契数。因此,如果我输入 7,输出将为 13。因为: 1 1 2 3 5 8 13有人能解释一下 b = a;在
我想为一个小游戏编写关卡系统。等级系统将与分数 Hook ,等级将进一步上升只给出了2个score值 lvl, 分数 0、50(从 0 - 50) 1、100(从 51 到 100) 2, 150 3
我的斐波那契代码遇到了一些问题。如果我想在数组(输入)中找到数字 5 的位置,系统说它的位置是 5,但它应该说 6?此外,如果我输入一个不在数组中的数字,系统会说它位于位置 20(例如输入 200)。
斐波那契堆在摊销的意义上是高效的,但在最坏的情况下它们的效率如何?具体来说,在 n 节点斐波那契堆上,这些操作中的每一个的最坏情况时间复杂度是多少? 找到分钟 删除分钟 插入 减少键 合并 最佳答案
可以创建一个快速的“给出第 n 个斐波那契数”函数,如所述 here .有没有一种方法可以编写在 O(1) 中执行的 isFibonacci(int i) 函数? 我可以预先计算值。但是计算最后一个
问题是... Each new term in the Fibonacci sequence is generated by adding the previous two terms. By sta
一:递归实现 使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1。 二:数组实现 空间复杂度和时间复杂度都是0(n),效率一般,比递归来得快。 三:
题目地址:https://leetcode.com/problems/fibonacci-number/ 题目描述 TheFibonacci numbers, commonly denoted F
有没有一种方法可以在 APL 中使用不需要循环或流量控制的单行创建斐波那契数列? 我已经使用 → 的函数完成了它和条件测试,但我觉得必须有一种更优雅、声明式的方式。安 example我发现声称在一行上
我正在尝试解决第二个欧拉问题(计算所有偶数斐波那契数的总和< 400万),到目前为止我已经想出了这个: public class CCTrial1 { public static void f
Fibonacci LFSR wiki上有介绍,很简单。 我想计算一些 Fibonacci 的 LFSR 的周期,然后使用生成的序列进行加密。 让我们以维基为例: x16 + x14 + x13 +
我创建了以下简单的斐波那契实现: #![feature(test)] extern crate test; pub fn fibonacci_recursive(n: u32) -> u32 {
这是给定的斐波那契数列: 1,1,2,3,5,8,13,21 这意味着 n = 8。这是我的斐波那契代码: def fib(n, count= 0): if n == 0: r
此代码返回缓慢且输出不同: from numba import jit from timeit import default_timer as timer def fibonacci(n):
我是一名优秀的程序员,十分优秀!