public class Fibonacci {
public static void main(String[] args) {
int num = Integer.parseInt(args[0]);
for (int i = 1; i <= num; i++)
System.out.print(getFib(i) + " ");
System.out.println();
}
// 后面的数等于前面二个数的和
public static int getFibRec(int n) {
if (n < 0)
return 0;
if (n <= 2)
return 1;
else
return getFibRec(n - 2) + getFibRec(n - 1);
}
public static int getFib(int n) {
if (n < 0)
return 0;
if (n <= 2)
return 1;
int f = 1;
int f1 = 1;
int f2 = 1;
for (int i = 3; i <= n; i++) {
f = f1 + f2;
f1 = f2;
f2 = f;
}
return f;
}
}
public static void main(String[] args) {
int num = Integer.parseInt(args[0]);
for (int i = 1; i <= num; i++)
System.out.print(getFib(i) + " ");
System.out.println();
}
// 后面的数等于前面二个数的和
public static int getFibRec(int n) {
if (n < 0)
return 0;
if (n <= 2)
return 1;
else
return getFibRec(n - 2) + getFibRec(n - 1);
}
public static int getFib(int n) {
if (n < 0)
return 0;
if (n <= 2)
return 1;
int f = 1;
int f1 = 1;
int f2 = 1;
for (int i = 3; i <= n; i++) {
f = f1 + f2;
f1 = f2;
f2 = f;
}
return f;
}
}