小杨想写一个程序来算出正整数 $N$ 有多少个因数,经过思考他写出了一个重复没有超过 $N/2$ 次的循环就能够算出来了。( )
因数成对出现,循环到N/2已覆盖除N外的所有因数,N本身单独处理即可,故不超过N/2次循环完全足够。
学生常误以为奇数N循环次数不够,或混淆循环次数与因数个数,导致错误判断;命题人用“不超过”这一宽松表述,正是为了筛掉只背结论、不懂“因数成对出现”本质的考生,若死记硬背易掉坑。
【考点】因数计数|循环复杂度|算法正确性
六级《算法基础》模块第 2 章循环结构,命题人卡住的是学生是否理解“因数”的定义边界。四级只要求会写循环,六级要区分“循环次数”与“因数个数”的关系。这题就是专门筛掉那些只背结论、不懂“因数成对出现”本质的考生。