再刷PAT系列~ 1008 童年生活二三事(斐波那契數列)
阿新 • • 發佈:2018-12-24
題目描述
NowCoder小時候走路喜歡蹦蹦跳跳,他最喜歡在樓梯上跳來跳去。
但年幼的他一次只能走上一階或者一下子蹦上兩階。
現在一共有N階臺階,請你計算一下NowCoder從第0階到第N階共有幾種走法。
輸入描述:
輸入包括多組資料。每組資料包括一個整數n, (1≤n≤90)。
輸出描述:
對應每個輸入包括一個輸出。
為redraiment到達第n階不同走法的數量。
輸入例子:
1
2
輸出例子:
1
2
實現程式碼:
import java.util.Scanner;
public class Main {
/**
* 現在一共有N階臺階,請你計算一下NowCoder從第0階到第N階共有幾種走法。
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
int n = scanner.nextInt();
long count = countJt(n);
System.out.println(count);
}
}
/**
* @param n
* @return
*/
private static long countJt(int n) {
if (n==1) {
return 1;
}
if (n==2) {
return 2;
}
long count1 = 1;
long count2 = 2;
long count = 0;
int i = 3;
while(i<=n){
count = count1+count2;
count1 = count2;
count2 = count;
i++;
}
return count;
}
}
典型的斐波那契數列,不需多說,數學歸納法啊,萬能的方法。。。