题目1075:斐波那契数列

来源:互联网 发布:网络的发展阶段 编辑:程序博客网 时间:2024/05/28 15:29
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);}}}

0 0
原创粉丝点击