fibonacci 相关问题

Fibonacci序列是由F(0)= 0,F(1)= 1,F(n + 2)= F(n)+ F(n + 1)定义的序列。前几个术语是0,1,1,2,3,5,8。

打印斐波那契数序列而无需使用循环

那里有一个黑客打印第一个N fibonacci号码而无需调用循环 for(int i = 1;i 有黑客打印第一个n fibonacci号码而无需调用循环 for(int i=1; i<n; i++) System.out.println(computeF(n)); 从主要程序? public static int computeF(int n) { if(n==0) { return 0; } else if(n==1) { return 1; } else { return computeF(n-1)+computeF(n-2); } } 可能有一种打印递归中的中间值的方法,该值将打印斐波那契数。 您可以使用尾递归。 public class Fid { static int n1=0; static int n2=1; static int nex=0; public static void fb(int n) { if(n<10) { if(n==0) { System.out.print(" "+n); n++; fb(n); } else if(n==1) { System.out.print(" "+n); n++; fb(n); } else{ nex=n1+n2; System.out.print(" "+nex); n1=n2; n2=nex; n++; fb(n); } } } public static void main(String[] args) { fb(0); } } 使用递归: - class FibonacciRecursion { private static int index = 0; private static int stoppingPoint = 9; public static void main (String[] args) { int n1 = 0; int n2 = 1; fibonacciSequence(n1, n2); } public static void fibonacciSequence(int n1, int n2) { System.out.println("index: " + index + " -> " + n1); // make sure we have set an ending point so this Java recursion // doesn't go on forever. if (index == stoppingPoint) return; // make sure we increment our index so we make progress // toward the end. index++; fibonacciSequence(n2, n1+n2); } } // Java程序打印fibonacci系列最多由用户提供的n术语,而无需使用loop Importjava.util。*; 公共类斐波那契 { 公共静态void main(字符串[]参数) { Scanner s = new Scanner(System.in); System.out.print("Enter the no of terms :"); int no_of_terms= s.nextInt(),a=1,b=0,c=0,count=1; System.out.print("0 ");//printing the first term fib(no_of_terms,a,b,c,count);} 公共静态void fib(int no_of_terms,int a,int a,int b,int c,int count) { //when value of count will be equal to the no of terms given by user the program will terminate if (count==no_of_terms) System.exit(0); else { count++; System.out.print(a+" "); c=b; b=a; a=b+c;//calculating the next term fib(no_of_terms,a,b,c,count);//calling the function again with updated value } } } 您可以使用BINET的公式使其成为一个更简单的数学问题O(log n),但是当然,您必须为要解决的每次迭代运行它,如果您需要计算单个特定的fibinAcci值,这可能非常有用。对于非OP访问者:取决于您可能需要多少个值,可能坚持循环o(n)。 function fibonacci(n) { const phi = (1 + Math.sqrt(5)) / 2; const psi = (1 - Math.sqrt(5)) / 2; return Math.round((Math.pow(phi, n) - Math.pow(psi, n)) / Math.sqrt(5)); } console.log(fibonacci(5)); // Output: 5 console.log(fibonacci(9)); // Output: 34 列 https://allen.in/jee/maths/fibonacci-sequence(了解fibinacci的数学解决方案) https://www.geeksforgeeks.org/find-nth-fibonacci-number-using-susing-using-inets-formula/(javascript解决方案) Https://en.wikipedia.org/wiki/greek_letters_used_in_in_mathematics,\ _science,\_and_engineering(更多地好奇地对希腊字母在数学中) import java.util.*; public class Fibonacci{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter a no."); int n= sc.nextInt(),a=1,b=0,c=0; num(n,a,b,c); } public static void num(int n,int a,int b,int c){ if(a<=n){ System.out.println(a); c=b; b=a; a=b+c; num(n,a,b,c); } } }

回答 5 投票 0


如何在Swift Playground中使用递归打印斐波那契序列

我已经尝试在没有递归的情况下尝试这样做,并且能够做到这一点。但是,我现在正在尝试通过递归以一种更复杂和更复杂和“计算机科学”的方式做。

回答 6 投票 0

100000 000 000 000 000 000 fibonacci编号

问题的速度低于1,000,000,000,000,000,000,000,000,000 #include #define fibo(a,b){长c = b; b = a; a =(b+c)%1000000;} 使用名称空间性std; int main(){...

回答 1 投票 0


SICP 练习 1.19,转换

来自计算机程序的结构和实现,第二版: 练习 1.19:有一个巧妙的算法可以以对数步数计算斐波那契数。回想一下

回答 1 投票 0

一次爬一级、两级或三级台阶到达A到B的方式数

我正在在线平台上解决测试,问题陈述与此类似。 斯图尔特必须从一个地方到另一个地方(A->B),他可以一次跳 1 步、2 步或 3 步...

回答 1 投票 0

斐波那契数的迭代算法

我对斐波那契数的迭代算法感兴趣,所以我在wiki上找到了公式...它看起来很直接,所以我在Python中尝试了...它没有编译和公式问题

回答 13 投票 0

Java斐波那契递归代码

我正在尝试编写一个程序,从用户那里获取任何数字并生成斐波那契代码的第n个数字。当我完成工作时,它会显示下一个 # 而不是我需要的 #。对于

回答 4 投票 0

使用 For 循环的斐波那契数列 - 不明白循环

对Python非常陌生,我试图理解我如何得到正确的答案 编写代码: 计算并打印斐波那契数列的前 50 项。 打印每个学期和新...

回答 2 投票 0

递归斐波那契集合

我用汇编语言编写了一段代码,用于递归计算数字的斐波那契数列。该代码适用于 RISC V 处理器。该代码对于数字 1 和 2 正确工作,但一切......

回答 1 投票 0

我的类无法正确生成斐波那契数列

我正在尝试创建一个生成斐波那契序列的类。我的两个模块如下: fibonacci.py 模块和 test_fibonacci.py 模块。 前两个测试通过了,但第三个测试似乎......

回答 3 投票 0

为什么归并排序不像斐波那契数列生成的树那样具有 O(2^log(n)) 的时间复杂度?

我理解这两种算法,但是时间复杂度对我来说感觉很奇怪。 如果您查看两种算法生成的两棵树,您会发现它们完全相同,我们继续划分...

回答 2 投票 0

如何打印斐波那契数列(汇编8086)中的前20个元素?

我正在尝试编写一个运行循环的代码,该循环打印斐波那契数列中的前 20 个数字,但我不知道如何解决它。我尝试了很多方法。 组织100小时 移动斧头, 0 移动 bx, 1 mov cx,...

回答 1 投票 0

如何计算第n个斐波那契数的递归计算时间?

如何知道当前机器上计算第n个斐波那契数需要多少时间?例如,在当前机器上,第 30 个元素的计算时间为 67ms,第 40 个元素的计算时间为 554 m...

回答 6 投票 0

“Python”中的欧拉项目#2

我在这里绝对是初学者。我正在用 Python 尝试回答有关 Project Euler 的问题。你能指出我的代码哪里出了问题吗? Q) 斐波那契数列中的每个新项都是基因...

回答 12 投票 0

斐波那契脚本

我有这个斐波那契脚本 #!/bin/bash 如果(测试 $# -ne 1)那么 echo "使用: $0 号码" 出口 1 网络 对于“seq 1 $1”中的 c 做 如果 (($c == 1)) 然后 n0=1; echo "斐波那契(1)=$n0&quo...

回答 1 投票 0

斐波那契数列的修改

(C++实现) 斐波那契数列表示为 0 1 1 2 3 5 8 13 21 34 55 ...... 假设我们有一个称为“Varionacci Series”的变体,其中前 3 个数字是 已修复...

回答 1 投票 0

R 函数查找斐波那契数

R 新手,因此对任何错误表示歉意。我正在制作一个 R 函数来查找从 1 开始的 20 个斐波那契数。我制作了这个函数,但是该函数输出的斐波那契数如下: # 出去...

回答 3 投票 0

Rcpp第一次编译麻烦

我最近从亚马逊下载了 2013 Rcpp 书,以学习如何更好地在我的 R 代码中使用 C++,并且我正在尝试使用第一个斐波那契递归函数和包装的第一个编译示例...

回答 2 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.