【藍橋杯】入門訓練Fibonacci數列滿分解法
阿新 • • 發佈:2021-01-09
著重考慮資料型別,邊界值
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);
}
}