最多使用2个if语句实现整除分支输出(优先Dart实现)
Dart 实现整除判断逻辑(最多2个if约束)
规则说明
针对输入整数的输出规则:
- 可同时被3、5整除 → 打印C
- 仅可被3整除 → 打印A
- 仅可被5整除 → 打印B
约束条件:代码中最多使用2个独立if语句。
实现代码
void divisibleCheck(int inputNum) { // 第一个if:优先匹配优先级最高的同时整除场景,15是3和5的最小公倍数 if (inputNum % 15 == 0) { print('C'); return; } // 第二个if:覆盖剩余单整除场景,else if属于当前if的分支,不算独立if语句 if (inputNum % 3 == 0) { print('A'); } else if (inputNum % 5 == 0) { print('B'); } } // 测试调用 void main() { divisibleCheck(9); // 输出A divisibleCheck(10); // 输出B divisibleCheck(30); // 输出C }
逻辑说明
- 很多人写这类判断第一反应会堆3个if,其实只要调整判断优先级就能满足if数量限制:先判断同时整除的最高优先级场景,避免被单整除的判断提前拦截,这里直接用两数最小公倍数做取模运算,不需要重复写两次取模判断
- 整段代码仅包含2个独立if语句,跟在else后的
else if属于第二个if的分支延伸,不算新的独立if,完全符合约束要求
独立if语句指单独开启全新判断分支的if结构,依附于else的分支判断不会计入独立if的数量统计。
- 如果需要处理既不能被3也不能被5整除的输入,直接在第二个if结构的最后补else分支即可,不会增加if的计数。
内容的提问来源于stack exchange,提问作者azma ahmed
相关产品推荐
相关产品推荐

