@Test
public void testFib() {
fib(1, 3, 50);
fibLoop(1, 2, 50);
}
/**
* 递归
* @param f1
* @param f2
* @param count
*/
public void fib(int f1, int f2, int count) {
if (f1 == 0 || f2 == 0 || count <= 0) {
System.out.println(Math.max(f2, f2));
} else {
int n = f1 + f2;
System.out.println(n);
fib(f2, n, --count);
}
}
/**
* 循环
* @param f1
* @param f2
* @param count
*/
public void fibLoop(int f1, int f2, int count) {
if (f1 == 0 || f2 == 0 || count <= 0) {
System.out.println(Math.max(f2, f2));
}
int value = 0;
while (--count > 0) {
value = f1 + f2;
System.out.println(value);
f1 = f2;
f2 = value;
}
}