import java.util.*;
public class Test {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
print("请输入一个大于0的整数:");
while (true) {
try {
int n = in.nextInt();
if (n <= 0) throw new InputMismatchException();
for (int i = 1; i <= n; i++) {
print(fibonacci(i));
}
break;
} catch (InputMismatchException e) {
print("非法输入!请输入一个大于0的整数:");
in.next();
}
}
}
/**
* 自定义打印函数
* @param obj object
*/
public static void print(Object obj){
System.out.println(obj);
}
private static Map m = new HashMap();
/**
* 计算斐波那契数列的第n个元素
* @param n int
* @return 斐波那契数列的第n个元素
*/
public static long fibonacci(int n){
if (n <= 2) return 1;
if (m.containsKey(n)) return m.get(n);
long temp = fibonacci(n-1)+fibonacci(n-2);
m.put(n, temp);
return temp;
}
}