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\n":"%06d\n"),list[n]); } //要不是我看了算法笔记还真不知道怎么做...... //%0md: 当变量m不足时用0来填充 } }
原文:https://www.cnblogs.com/xiaolan-/p/11818879.html