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来填充
}
}