B4036 [GESP202409 二级] 数位之和

· · 题解

欢迎报名洛谷网校,报名课程可以获得对应组别的知识点讲解与答疑服务,期待和大家一起进步!点击图片即可报名。

:::align{center} :::

本题考查多层循环(循环嵌套)结构。

题目中说,一个正整数是美丽数字当且仅当该正整数每一位数字的总和是 7 的倍数。因此,先思考如何将一个正整数 a 的每一位数字求和,假设求和的结果用变量 sum 存储。

可以使用循环结构完成:每次用 sum += a % 10 让总和加上 a 的个位,再用 a /= 10 去除 a 的个位,直到 a0 为止。判断总和是 7 的倍数,只需判断 sum % 7 == 0

而题目中说有 n 个正整数,那么我们外层套一个循环,读入 n 个正整数,对于每个读入的正整数 a 做上面所述的流程。

需要注意:YesNo 的大小写,以及每输出一次需要换行。

参考代码(只保留关键部分):

int sum = 0;
while (a > 0) {
    sum += a % 10;
    a /= 10;
}
if (sum % 7 == 0)
    ;/*思考一下,输出什么*/
else
    ;/*思考一下,输出什么*/