Skip to content

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);
    }
}

Released under the MIT License.