func checkPerfectNumber(num int) bool { if num <= 1 { return false } sum, sqrt := 1, int(math.Sqrt(float64(num))) if sqrt*sqrt == num { sum += sqrt sqrt-- } for i := 2; i <= sqrt; i++ { if num%i == 0 { sum += i sum += num / i } } return sum == num }