Perfect Number
一个数是Perfect number就是他的factor的和等于这个数. 那么先求factor, 然后求和就可以了.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class Solution { public boolean checkPerfectNumber(int num) { if(num <= 0) return false; int sum = 0; for(int i = 1; i <= Math.sqrt(num); i++) { if(num % i == 0) { // if it is a factor sum += i; if (i * i != num) { // adding num / i sum += num / i; } } } System.out.println(sum); return sum - num == num; } } |