【PAT (Basic Level) Practice】——【简单模拟】1106 2019数列

该博客介绍了如何根据2019的数字构造一个无穷数列,其中每一项是前四项之和的个位数。文章给出了具体的解题思路、代码实现及输出示例,并提出数列中不会出现2018的观察。通过分析数列的生成规律,展示了简单的数学编程技巧。
摘要由CSDN通过智能技术生成

一【题目难度】

  • 乙级

二【题目编号】

  • 1106 2019数列 (15 分)

三【题目描述】

  • 把 2019 各个数位上的数字 2、0、1、9 作为一个数列的前 4 项,用它们去构造一个无穷数列,其中第 n(>4)项是它前 4 项之和的个位数字。例如第 5 项为 2, 因为 2+0+1+9=12,个位数是 2。
  • 本题就请你编写程序,列出这个序列的前 n 项。

四【题目示例】

  • 输入格式:
    输入给出正整数 n ( ≤ 1000 ) n(≤1000) n1000

  • 输出格式:
    在一行中输出数列的前 n 项,数字间不要有空格。

  • 输入样例:
    10

  • 输出样例:
    2019224758
    题外话:这个数列中永远不会出现 2018,你能证明吗?

五【解题思路】

  • 这个题非常简单,只需要利用数组存储每个元素,首先将“2019”按位存入数组,后面只需要用 f o r for for循环遍历每四个做和即可,需要注意题目要求只取个位数。最后输出即可,还要注意题目要求没有空格

六【最终得分】

  • 15分

七【代码实现】

#include<stdio.h>
int main()
{
    int n,nums[1001] = {0};
    scanf("%d",&n);
    nums[1] = 2;
    nums[2] = 0;
    nums[3] = 1;
    nums[4] = 9;
    for(int i = 5;i<=n;i++)
    {
        int temp = nums[i - 1] + nums[i - 2] + nums[i - 3] + nums[i - 4];
        nums[i] = temp % 10;
    }
    for(int i = 1;i<=n;i++)
    {
        printf("%d",nums[i]);
    }
    return 0;
}

八【提交结果】

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IronmanJay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值