文章

【GESP】C++二级练习 luogu-B3699 [语言月赛202301] 就要 62

GESP二级练习,多层循环和分支练习,难度★★☆☆☆。

luogu-B3699 [语言月赛202301] 就要 62

题目要求

题目描述

给你一个整数 $x$,你需要判断,这个整数中是否出现过数字 $62$ 或者能够被 $62$ 整除。如果是,输出 Yes,否则输出 No 即可。

输入格式

输入共一行,为一个整数 $x$。

输出格式

输出共一行。

如果 $x$ 中出现过数字 $62$ 或者能够被 $62$ 整除,输出一行 Yes,否则输出一行 No

输入 #1

1
11624

输出 #1

1
Yes

输入 #2

1
12214

输出 #2

1
Yes

输入 #3

1
16124

输出 #3

1
No

输入 #4

1
62

输出 #4

1
Yes

说明/提示

样例 1 解释

显然,$11624$ 中出现了 $62$。

样例 2 解释

容易知道,$12214 = 62 \times 197$,所以 $12214$ 可以被 $62$ 整除。

样例 3 解释

虽然 $16124$ 中出现了 $6$ 和 $2$,但是没有出现一个完整的 $62$。这种情况不被叫做【出现 $62$】。

样例 4 解释

显然,$62$ 中出现了 $62$,也是 $62$ 的倍数。

数据规模与约定

对于 $20\%$ 的测试数据,保证 $x \leq 10$;
对于 $40\%$ 的测试数据,保证 $x < 100$;
对于 $100\%$ 的测试数据,保证 $1 \leq x \leq 10 ^ {18}$。


题目分析

解题思路

  1. 明确题目核心要求
    • 题目给定一个正整数 $x$,要求判断其是否满足以下两个条件中的任意一个:能被 $62$ 整除,或者各位数字中出现连续的 62
    • 只要满足其一,即可输出 Yes;如果都不满足则输出 No
  2. 第一步:判断整除条件
    • 使用取余运算符 % 进行判断,即由 x % 62 == 0 的真假来判断 $x$ 是否能被 $62$ 整除。
    • 此操作仅需要针对输入的原始数字执行一次判断即可。
  3. 第二步:判断是否包含连续数字 62
    • 可以通过循环对数字不断提取末两位和截去末一位的方法来进行验证。
    • 在每轮循环中,利用 temp % 100 == 62 来验证当前数值的最末两位是不是 62。如果遇到则直接满足条件。
    • 每次检验后,通过 temp /= 10 去掉末尾最后一位数,向左逐个进行遍历。
    • 重复执行到整个数全部被处理完(即为 $0$)为止。


示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;

int main() {
    long long x;
    cin >> x;

    // 条件一:判断原始数字是否能被 62 整除
    if (x % 62 == 0) {
        cout << "Yes" << endl;
        return 0;
    }

    // 条件二:通过循环逐位判断是否包含连续的 "62"
    long long temp = x;
    while (temp > 0) {
        // 判断当前数字末两位是否为 62
        if (temp % 100 == 62) {
            cout << "Yes" << endl;
            return 0;
        }
        // 去掉末尾一位数字,继续向左检查
        temp /= 10;
    }

    // 两个条件均未满足,输出 No
    cout << "No" << endl;
    return 0;
}

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

GESP 学习专题站:GESP WIKI

"luogu-"系列题目可在洛谷题库进行在线评测。

"bcqm-"系列题目可在编程启蒙题库进行在线评测。

欢迎加入Java、C++、Python技术交流QQ群(982860385),大佬免费带队,有问必答

欢迎加入C++ GESP/CSP认证学习QQ频道,考试资源总结汇总

欢迎加入C++ GESP/CSP学习交流QQ群(688906745),考试认证学员交流,互帮互助

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
本文由作者按照 CC BY-NC-SA 4.0 进行授权