202301D 就要 62 题解

· · 题解

[语言月赛202301] 就要 62 题解

Source & Knowledge

2023 年 1 月语言月赛,由洛谷网校入门计划/基础计划提供。

文字题解

题目大意

给你一个整数 x,你需要判断,这个整数中是否出现过数字 62 或者能够被 62 整除。

解析

需要完成的任务可以分为两部分。

第一部分为判断 x 是否可被 62 整除。使用 if 语句判断即可。

第二部分为判断 x 中是否出现过 62,这里提供一种比较简单的思路。

我们使用 while 循环不断去除 x 的最后一位,每次去除后都判断一下 x \bmod 100 的值是否为 62,并进行记录,核心思路为:

  1. 判断 x \bmod 100 的值是否为 62,如果是则记录并退出循环。
  2. 如果不是,将 x 赋值为 \left \lfloor \dfrac x{10} \right \rfloor(这里的向下取整可以直接使用 int 除法计算来解决)。
  3. 返回到第 1 步。

最后进行对应的输出即可。

核心代码:

int flag = 0;
if (x % 62 == 0) {
    flag = 1;
} else while (x) {
    if (x % 100 == 62) {
        flag = 1;
        break;
    }
    x /= 10;
}
if (flag)
    printf("Yes\n");
else
    printf("No\n");

视频题解

完整代码请在视频中查看。