文章

【GESP】C++一级真题 luogu-B4035,美丽数字

2024年GESP一级真题,循环应用的问题。

luogu-B4035

题目要求

描述

小杨有 n 个正整数,他认为一个正整数是美丽数字当且仅当该正整数是 9 的倍数但不是 8 的倍数。

小杨想请你编写一个程序计算 n 个正整数中美丽数字的数量。

输入

第一行包含一个整数 n,代表正整数个数。
第二行有 n 个正整数 a1,a2,…an。

输出

输出一个整数,表示其中美丽数字的数量。

输入样例-1

3
1
9
72

输出样例-1

1


题目分析

  • 先读入n的值,代表后面会有几个输入
  • 循环n次,输入后续变量的值
  • 对于每一个输入变量的值用取余操作判断是不是美丽数,如果是,计数+1
  • 输出计数结果

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main() {
    int n; // 定义变量n
    cin >> n; // 从输入流中读取n的值
    int k = 0; // 定义变量k并初始化为0
    int a; // 定义变量a
    for (int i = 1; i <= n; i++) { // 循环n次
        cin >> a; // 从输入流中读取a的值
        if (a % 8 != 0 && a % 9 == 0) { // 如果a既不是8的倍数又是9的倍数
            k += 1; // k加1
        }
    }
    cout << k; // 输出k的值
    return 0; // 返回0,表示程序执行成功
}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

题目已加入洛谷Java、C++初学团队作业清单,可在线评测,团队名额有限,欢迎加入。

本文由作者按照 CC BY 4.0 进行授权