您的位置:首页 > 其它

题目1075:斐波那契数列

2013-12-28 22:08 232 查看
import java.util.Scanner;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;

class Main
{
private final static boolean DEBUG = false;
private int[] f;

private void init(int n)
{
f = new int[2 * n - 1];
f[0] = 0;
}

private void dfs(int cur)
{
if (cur == 1) {
boolean flag = true;
for (int i = 0; i < 2 * cur - 1; i++) {
if (flag) flag = false;
else System.out.print(" ");
System.out.print(f[i]);
}
System.out.println();
return;
} else if (cur == 2)
{
dfs(1);
f[1] = f[2] = 1;
boolean flag = true;
for (int i = 0; i < 2 * cur - 1; i++) {
if (flag) flag = false;
else System.out.print(" ");
System.out.print(f[i]);
}
System.out.println();
return;
} else {
dfs(cur - 1);
for (int i = 2 * cur - 3; i < 2 * cur - 1; i++) {
f[i] = f[i - 1] + f[i - 2];
}

boolean flag = true;
for (int i = 0; i < 2 * cur - 1; i++) {
if (flag) flag = false;
else System.out.print(" ");
System.out.print(f[i]);
}
System.out.println();
}
}

public void solve(int n)
{
init(n);
dfs(n);
}

public static void main(String[] args) throws IOException
{
Scanner cin;
int n;

if (DEBUG) {
cin = new Scanner(new BufferedReader(new FileReader("d:\\OJ\\uva_in.txt")));
} else {
cin = new Scanner(System.in);
}

while (cin.hasNext()) {
n = cin.nextInt();
Main solver = new Main();
solver.solve(n);

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: