以下问题中,最不适合用枚举法解决的是:( )
答案C。根据编程知识分析判断。
仔细审题,注意限定词和否定词。用排除法缩小选项范围。
【考点】枚举法|计算复杂度|公式求和
解题思维:枚举法本质是遍历搜索,适用前提是候选集合可穷举且规模可控。A、B、D 都在枚举"数",范围分别约 100、100、900,遍历完全可行;C 要算 1+2+…+1000 的和,枚举 1000 个数逐项累加固然能得结果,但存在 O(1) 的等差数列求和公式,枚举反而浪费时间。
陷阱拆解:A、B、D 的"枚举数"是正解;C 的"计算和"才是关键——题目问"最不适合枚举",不是问"能不能枚举出和",而是问"枚举是不是最优解法"。命题人用"计算……的和"把答案导向公式,若只盯着"枚举数",就会误选 A/B/D。
反命题思维:若把 C 改成"列出 1~1000 中能被 7 整除的数",答案就变 A 了,因为目标从"求和"(公式)变成"枚举数"(遍历);再改成"求 1~1000 中所有质数之和",枚举依然可行但复杂度飙升——命题人就是在考你识别"可公式化"与"只能枚举"的边界。