1. 程式人生 > 其它 >【藍橋杯】入門訓練Fibonacci數列滿分解法

【藍橋杯】入門訓練Fibonacci數列滿分解法

技術標籤:演算法題解java演算法

著重考慮資料型別,邊界值

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        long a = 1L, b = 1L, result, sum = 0L;
        // 如果為前2項則將結果設為1
        if (n == 1 || n == 2
) { result = 1L; } else { while (n > 2) { sum = a + b; a = b; b = sum % 10007; // 取sum的模數 n--; } result = sum % 10007; // 再次取sum的模數,防止最後一次a+b的值超出10007 } // 輸出結果 System.
out.println(result); } }