在Java中,我如何才能找到的第n个Fibonacci数?(In java, how would I

2019-08-01 18:49发布

确定斐波纳契数列是很容易的找出:

int num = 0;
int num2 = 1;
int loop;
int fibonacci;
System.out.print(num2);
for (loop = 1; loop <= 10; loop ++)
{
    fibonacci = num + num2;
    num = num2;
    num2 = fibonacci;
    System.out.print(" " + fibonacci);
}

我的问题在于试图作为查明对指定N.价值,如果我想找到序列中的第6元,这是8,我如何才能找到这个数字,只是这个数字?

Answer 1:

在代码中, num开始为 0 Fibonacci数和num1为1 。 因此,要找到 n ,你必须重复步骤n时间:

for (loop = 0; loop < n; loop ++)
{
    fibonacci = num + num2;
    num = num2;
    num2 = fibonacci;
}
System.out.print(num);

只有打印出来,当你已经完成。

当循环计数器loop具有值knum保持 k Fibonacci数和num2第(k + 1)



Answer 2:

要找到第n个数字,我们需要知道的斐波那契数的长度。 您可以使用Java的INT转换为字符串Integer.toString(int)功能。 使用字符串,一个可接着确定变换Fibonacci数的长度。

编辑:删除代码B / C有可能HWK问题



Answer 3:

int n=5;//position of the fibonacci number to find
int fibonacci=0,num=0,num2=1;
for(int loop=1;loop<n;loop++)
{
   fibonacci=num+num2;
   num=num2;
   num2=fibonacci;
}
System.out.println(num);


Answer 4:

import java.util.*;
public class fibonacci{
public static void main(String[]args){
    Scanner input=new Scanner(System.in);
    String n=System.getProperty("line.separator");

    int count=0,x=0,y=1,sum;

    System.out.println("Enter a number:  ");
    int num=input.nextInt();

    for(count=0;count<=num;count++){
        System.out.print(" "+ x);
        sum=x+y;
        x=y;
        y=sum;
    }
  }
}


Answer 5:

import acm.program.*;

public class FibonacciToN extends ConsoleProgram {

    public void run() {

        println("This program will display a table of Fibonacci numbers up to value n.");
        int n = readInt("Enter an integer for value n: ");
        int result = sequence(n);  

    }

    private int sequence(int n) {

        int a = 0;
        int b = 1;

        while (a < n) {  
            println(a); 
            a = a + b;
            b = a - b;
            }

        return a;
    }
}


文章来源: In java, how would I find the nth Fibonacci number?