小明编写了一个程序,用来找出1到100之间所有“既是3的倍数,又是4的倍数”的数字。方法A:让计算机从1到100逐个检查每个数字,看它是否同时满足这两个条件。方法B:小明发现满足条件的数字其实就是12的倍数,于是直接让计算机从12开始,每次增加12(即12, 24, 36...)来寻找,直到超过100为止。关于这两种方法,下列说法正确的是?( )
A:方法A和方法B找出的结果不一样,方法A更准确
B:方法A因为检查的数字更多,所以找出的结果一定比方法B多
C:方法B通过缩小寻找的范围并直接生成目标数字,减少了计算机不必要的重复计算,效率更高
D:这两种方法对计算机来说没有任何区别,运行速度完全一样
正确答案:C
答案解析
方法B利用了数学规律,直接将搜索范围锁定在12的倍数上,极大地减少了计算机需要执行的循环次数。在保证找出所有正确答案的前提下,方法B显著提高了程序的运行效率,这就是算法优化的核心目的。
试卷来源:202609 青少年软件编程等级考试Python四级真题