✏️ 纠错
第 289 题 / 共 301 题
第 13 题 漂亮数的定义是:如果N能被M整除,或者某位是M,或者N的每位数之和能被M整除,则说N是M的漂亮数。如果三个条件都满⾜,则是完整漂亮数。123是3的完整漂亮数,因为123能被3整除,也含有3,其每位数之和为6也能被3整除。下⾯的代码⽤于判断N是否为M的完整漂亮数并输出。相关说法正确的是( )。
📝 题目解析

【答案】B

【考纲知识点】循环结构、分支结构

【解析】逐个选项分析

A:在while 循环中N最终将变成0,因此L1行代码中N % M 将总是满足条件,不能完成题目设定目标

C:如果增加else子句,那么只要num不是M,Flag就会被重置为0,即使之前可能已经设置为1,而题目要求是某位为M才标记,导致逻辑错误

D:若N=0则while不成立,Flag为0第19行的if不成立输出0不是3的完整漂亮数

只有B的描述是正确的,在while中N不断除以10直到为0,导致最后判断不正确,因此需要提前保存原始N的值用于判断