B4065 [GESP202412 二级] 数位和
欢迎报名洛谷网校,报名课程可以获得对应组别的知识点讲解与答疑服务,期待和大家一起进步!点击图片即可报名。
:::align{center} :::
本题考查循环结构、循环嵌套。
首先,读入 int 类型无法容纳,需要使用 long long 类型存储。接下来,需要计算每个读入的正整数
计算正整数的数位和也需要使用一重循环:每次用 sum += x % 10 让总和加上 x /= 10 去除
int sum = 0;
while (x) {
sum += x % 10;
x /= 10;
}
接下来,将求得的 sum 与当前得到的答案最大值 ans 做比较,进行“擂台法”的比较。需要注意,ans 的初始值应当设置为
if (sum > ans)
ans = sum;
当然擂台法的步骤也可以使用 max 函数完成。
ans = max(ans, sum);