一、内容
Fibbonacci Number
Your objective for this question is to develop a program which will generate a fibbonacci number. The fibbonacci function is defined as such:
f(0) = 0
f(1) = 1
f(n) = f(n-1) + f(n-2)
Your program should be able to handle values of n in the range 0 to 50.
Input
Each test case consists of one integer n in a single line where 0≤n≤50. The input is terminated by -1.
Output
Print out the answer in a single line for each test case.
Sample Input
3
4
5
-1
Sample Output
2
3
5
二、思路
- 简单递推,注意要用64为整型。
三、代码
import java.util.Scanner;
public class HDU_2070 {
static long[] f = new long[55];
static int n;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
init();
while (true) {
n = sc.nextInt();
if (n == -1) return;
System.out.println(f[n]);
}
}
static void init() {
f[1] = 1;
f[2] = 1;
for (int i = 3; i <= 50; i++) {
f[i] = f[i - 1] + f[i - 2];
}
}
}