1. 程式人生 > >PAT乙級(Basic Level)練習題 >蜜蜂尋路

PAT乙級(Basic Level)練習題 >蜜蜂尋路

題目描述
nowcoder利用業餘時間養了一窩蜜蜂,因為空間比較小,蜂房只有兩排,如下圖所示:
這裡寫圖片描述

如你所見,蜜蜂的蜂房是正六邊形,假設蜜蜂只會從左往右爬,即從1號蜂房能爬到2號和3號;從6號蜂房能爬到7號和8號……

現給出兩個蜂房的編號a和b,要求計算蜂房a的蜜蜂爬到蜂房b有幾條不同路線。

輸入描述:
1. 輸入的第一行是一個整數n
2. 接下來n行資料,每行一組測試用例
3. 每組測試用例包含兩個正整數a和b,(0 < a < b < 2^31)

輸出描述:
每組用例的結果單獨輸出一行。輸出資料結果範圍是 [0, 2^63)。

輸入例子:
3
1 2
3 6
99 100

輸出例子:
1
3
1

思路:斐波那契數列

程式碼如下:

import java.util.*;
public class PAT1009 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        long []a = new long[103];
        a[0]=0;
        a[1]=1;
        a[2]=2;
        for
(int i=3;i<103;i++){ a[i]=a[i-1]+a[i-2]; } int N = in.nextInt(); for(int i=0;i<N;i++){ int ta = in.nextInt(); int tb = in.nextInt(); System.out.println(a[tb-ta]); } } }