2022年3月6日23:11:27
1106 2019数列 (15 分)
1.【题目描述】
把 2019
各个数位上的数字 2、0、1、9
作为一个数列的前 4
项,用它们去构造一个无穷数列,其中第 n ( > 4 ) n(>4) n(>4) 项是它前 4
项之和的个位数字。例如第 5
项为 2
, 因为 2+0+1+9=12
,个位数是 2
。
本题就请你编写程序,列出这个序列的前 n n n 项。
输入格式:
输入给出正整数 n ( ≤ 1000 ) n(≤1000) n(≤1000)。
输出格式:
在一行中输出数列的前 n n n 项,数字间不要有空格。
2.【题解】
- 用数组初始化前四位的数字,循环以此递推每位的值,遍历输出即可。
void solve(){
int n;
cin>>n;
int a[1010] = {
0};
a[0] = 2;
a[1] = 0;
a[2] = 1;
a[3] = 9;
for (int i = 4; i < n; i++){
int m = a[i - 1] + a[i - 2] + a[i - 3] + a[i - 4];
m %= 10; //题意只要个位
a[i] = m;
}
for (int i = 0; i < n;i++){
cout << a[i];
}
cout<<endl;
}