Fibonnaci序列

时间:2016-11-20 12:35:48

标签: java fibonacci println acm

我是java中绝对的初学者,我想用acm.libary编写代码,这是关于斐波那契序列的。

结果对我来说非常好,但我只想打印最后一个序列号。我不知道怎么做。 如果用户键入n = 5,则结果必须为8。 如果用户键入n = 8,则结果必须为21。 在我的程序中,它是最后一个数字,但该程序还打印所有以前的数字。

我希望你能理解我:D

提前谢谢!

 int a = 1;
 int b = 0;

public void run() {
    int n = readInt ("n: ");
    for(int i = 1; i <= n; i++) {
        println (fibonacci (n));
    }
}

private int fibonacci(int n) {
    int c = (a) + (b);
    a = b;
    b = c;
    return c;
}

2 个答案:

答案 0 :(得分:1)

试试这段代码。

import java.util.Scanner;
public class Test {
    int a = 1;
     int b = 0;

    public int run() {
        @SuppressWarnings("resource")
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        int value =0;
        for(int i = 1; i <= n; i++) {
            value =  fibonacci (n);
        }
        return value;
    }

    private int fibonacci(int n) {
        int c = (a) + (b);
        a = b;
        b = c;
        return c;
    }

    public static void main (String arg[])
    {
        Test t = new Test();
        System.out.println(t.run());
    }
}

答案 1 :(得分:0)

您可以通过以下方式替换循环体:

<iframe>