function checkPerfectNumber(num): if num <= 1: return false
sum = 1 # 1 is always a proper divisor for i from 2 to sqrt(num): if num % i == 0: sum += i if i != num / i: # avoid duplicate for perfect square sum += num / i
return sum == num
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
(Implementation ready)
function checkPerfectNumber(num): if num <= 1: return false
sum = 1 # 1 is always a proper divisor for i from 2 to sqrt(num): if num % i == 0: sum += i if i != num / i: # avoid duplicate for perfect square sum += num / i
return sum == num