1. 程式人生 > >2737-小鑫の日常系列故事(六)——奇遇記-JAVA

2737-小鑫の日常系列故事(六)——奇遇記-JAVA

小鑫の日常系列故事(六)——奇遇記

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

今天,小鑫在山上玩的時候,意外被推下了懸崖。 當然,掉下懸崖之後必然有奇遇。(劇情就是這麼坑爹)就狗血的碰到了野人A和野人B。然後兩位野人就給了他一本武功祕籍。

 這是一本強大的武功祕籍(好像武功祕籍一直都很強大)。共有40層的內功心法。當他練到第n層的時候,就可以藉助高強的武功離開這個地方。你已經知道的是:練成第一層需要一天,練成第二層需要兩天,此後每一層武功要練成所需的天數是前兩層所需天數之和。也就是說第三層需要三天才能練成,因為1+2=3嘛。

當然,當他練成的那一天,他一定會去感謝野人們對他的幫助。那天他們會嗨到很晚,只能第二天在離開。

你能預測出多少天后小鑫能離開麼?

Input

輸入有多組,以檔案結尾結束。

每組只有一行,n。0<=n<=40

Output

 輸出小鑫第幾天才能離開,當然當n=0時,輸出0,因為他不需要祕籍也能離開,也不需要感謝野人。

Sample Input

1
2
0

Sample Output

2
4
0

Hint

Source

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		while (scanner.hasNext()) {
			int n = scanner.nextInt();
			long[] a = new long[41];
			a[0] = 0;
			a[1] = 1;
			a[2] = 2;
			for (int i = 3; i < a.length; i++) {
				a[i] = a[i - 1] + a[i - 2];
			}
			int sum = 0;
			for (int i = 0; i <= n; i++) {
				sum += a[i];
			}
			if (n == 0) {
				System.out.println(sum);
			} else {
				System.out.println(sum + 1);
			}
		}
	}
}