题目描述
星际战争开展了100年之后,终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。
|1 1|^n => |Xn …|
|1 0| |… …|
例如n=2时,
|1 1|^2 => |1 1| * |1 1| => |2 1|
|1 0| |1 0| |1 0| |1 1|
即2对应的数是“0002”。
代码如下
import java.util.*;
public class two {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int[] fib = new int[10001];
long ret = 0;
fib[0] = 1;
fib[1] = 1;
for(int i = 2;i < fib.length;i++){
fib[i] = (fib[i-1] + fib[i-2])%10000;
}
while(scan.hasNext()){
int n = scan.nextInt();
while(n-- > 0){
int i = scan.nextInt();
//
int zero = 4 - String.valueOf(fib[i]).length();
while(zero-- > 0){
System.out.print("0");
}
System.out.print(fib[i]);
i++;
}
System.out.println();
}
}
}