题目描述
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) {
int[] a = new int[10001];
a[0] = 1;
a[1] = 1;
for (int i = 2; i < 10001; i++) {
a[i] = (a[i - 2] + a[i - 1]) % 1000000;
}
Scanner scanner = new Scanner(System.in);
int n;
while (scanner.hasNext()) {
n = scanner.nextInt();
String str = String.valueOf(a[n]);
String s = "";
if(n>25) {
for (int i = 0; i < 6 - str.length(); i++) {
s += "0";
}
}
s+=str;
System.out.println(s);
}
scanner.close();
}
}
运行结果示意图