函数 isPerfectNumber 判断一个正整数是否为完全数(该数是否即等于它的真因子之和),则横线上应填 写( )。一个正整数 n 的真因子包括所有小于 n 的正因子,如28的真因子为1, 2, 4, 7, 14。
bool isPerfectNumber(int n) {
if(n <= 1) return false;
int sum = 1;
for(int i = 2; ______; i++) {
if(n % i == 0) {
sum += i;
if(i != n/i) sum += n/i;
}
}
return sum == n;
}
- A. i <= n
- B. i*i <= n
- C. i <= n/2
- D. i < n
正确答案:B