基于下面定义的函数,通过判断 isDivisibleBy9(n) == isDigitSumDivisibleBy9(n) 代码可验算如果一个数能被 9 整除,则它的各位数字之和能被 9 整除。
bool isDivisibleBy9(int n) {
return n % 9 == 0;
}
bool isDigitSumDivisibleBy9(int n) {
int sum = 0;
string numStr = to_string(n);
for (char c : numStr) {
sum += (c - '0');
}
return sum % 9 == 0;
}仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。
审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。
【考点】取模运算|数字和定理|字符串处理
GESP 五级 模块二“程序基础”中的进制与数制转换、取模运算与循环控制。命题人用这道题卡住“只背结论、不理解数论本质”的考生——以为“能被 9 整除”和“各位数字和能被 9 整除”是同一件事,却不敢写代码验证。