每日一练PAT_B_PRAC_1005斐波那契凤尾

NowCoder号称自己已经记住了1-100000之间所有的斐波那契数。
为了考验他,我们随便出一个数n,让他说出第n个斐波那契数。当然,斐波那契数会很大。因此,如果第n个斐波那契数不到6位,则说出该数;否则只说出最后6位。

输入描述:

输入有多组数据。
每组数据一行,包含一个整数n (1≤n≤100000)。



输出描述:

对应每一组输入,输出第n个斐波那契数的最后6位。

输入例子:

1
2
3
4
100000

输出例子:

1
2
3
5
537501
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int[] list = new int[100001];
        list[0] = 1;
        list[1] = 1;
        for (int i = 2; i < list.length; i++) {
            list[i] = list[i - 1] + list[i - 2];
            list[i] = list[i] % 1000000;
        }
        for (int i = 2; i < list.length; i++)
            System.out.println(list[i]);
        while (s.hasNext()){
            int n = s.nextInt();
            System.out.printf((n<25?"%d
":"%06d
"),list[n]);
        }
        //要不是我看了算法笔记还真不知道怎么做......
        //%0md: 当变量m不足时用0来填充
    }
}
原文地址:https://www.cnblogs.com/xiaolan-/p/11818879.html