1106 2019 数列
把 2019 各个数位上的数字 2、0、1、9 作为一个数列的前 4 项,用它们去构造一个无穷数列,其中第 n(>4)项是它前 4 项之和的个位数字。例如第 5 项为 2, 因为 2+0+1+9=12,个位数是 2。
本题就请你编写程序,列出这个序列的前 n 项。
输入格式:
输入给出正整数 n(≤1000)。
输出格式:
在一行中输出数列的前 n 项,数字间不要有空格。
输入样例:
tex
10
10
输出样例:
tex
2019224758
2019224758
Solution:
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] number = new int[n + 4];
number[1] = 2;
number[2] = 0;
number[3] = 1;
number[4] = 9;
for (int i = 5; i <= n; i++) {
number[i] = (number[i - 1] + number[i - 2] + number[i - 3] + number[i - 4]) % 10;
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= n; i++) {
sb.append(number[i]);
}
System.out.println(sb);
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] number = new int[n + 4];
number[1] = 2;
number[2] = 0;
number[3] = 1;
number[4] = 9;
for (int i = 5; i <= n; i++) {
number[i] = (number[i - 1] + number[i - 2] + number[i - 3] + number[i - 4]) % 10;
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= n; i++) {
sb.append(number[i]);
}
System.out.println(sb);
}
}