1 条题解

  • 0
    @ 2025-8-24 21:16:41

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar chen_zhe
    Aya 敲可爱的~

    搬运于2025-08-24 21:16:40,当前版本为作者最后更新于2024-11-12 18:09:39,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    欢迎报名洛谷网校,期待和大家一起进步!

    本题考察逻辑运算、分支结构、循环结构。

    题目中说,一个正整数是美丽数字当且仅当该正整数是 99 的倍数但不是 88 的倍数。如果有一个数字 aa,如何判断这个数字是美丽数字呢?

    • aa99 的倍数,因此 a % 9 == 0
    • aa 不是 88 的倍数,因此 a % 8 != 0

    使用逻辑与运算符 && 表示两个条件同时成立,那么美丽数字的判断要求就是 a % 9 == 0 && a % 8 != 0

    问题就好办了:题目要求我们读入 nn 个正整数,问有多少个正整数是美丽数字。可以使用一个循环结构控制读入 nn 个正整数,在循环结构内部对于每个读入的正整数 aa 用上面描述的判断要求判断是否是美丽数字。使用一个计数变量 cnt 记录数字个数。

    题目中的 a1,a2,ana_1,a_2,\dots a_n 指的是第一个数,第二个数,一直到第 nn 个数。如果看不懂这个表述也不要紧,这个表述超过了 GESP 一级大纲。在 GESP 三级,学习了一维数组之后会更深入地学习这个表述。

    参考代码(只展示代码关键部分):

    for (int i = 1; i <= n; i++) {
        //读入 n 个正整数
        cin >> a;
        if (a % 9 == 0 && a % 8 != 0) //判断是否是美丽数字
            cnt++;//若是,计数变量增加 1
    }
    
    • 1

    信息

    ID
    10787
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者