【发布时间】:2014-02-16 23:23:40
【问题描述】:
有没有办法在没有任何信息的情况下打印斐波那契数列直到第 n 位?这是我这样做的一种方法,尽管它使用的是先验信息。
int p;
int n = 0;
String fib = "0, 1";
public printFib () {
String fibSequence = fibPrint(0, 1, x); //x denotes xth fib number
System.out.println(fibSequence);
}
private String logicFib (int a, int b, int c) {
if (n == c-2) {
return fib;
} else {
n++;
p = a + b;
fib = fib + ", " + p;
logicFib(b, p, c);
}
}
这里的问题是我在数字1, 2 上打印数字3, 4, 5, ... n,而我想在不先声明前两位数字的情况下打印它们。我的方法的逻辑只有在前两位数已知的情况下才有效,当我想放弃这个时。
【问题讨论】:
-
您可以将 n 与 If 子句一起使用 (if n==0) fib="0",else if (n==1) fib+=", 1"