Skip to content

Instantly share code, notes, and snippets.

@LenKIM
Created July 19, 2019 15:08
Show Gist options
  • Save LenKIM/dcc6ae3b9b57e7a5bd15d17c9ad3640e to your computer and use it in GitHub Desktop.
Save LenKIM/dcc6ae3b9b57e7a5bd15d17c9ad3640e to your computer and use it in GitHub Desktop.
NumberClassifier-JAVA8.ver
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
import static java.lang.Math.sqrt;
import static java.util.stream.Collectors.toList;
import static java.util.stream.IntStream.range;
public class NumberClassifier {
// BEGIN java8_filter
public static IntStream factorsOf(int number) {
return range(1, number + 1)
.filter(potential -> number % potential == 0);
}
// END java8_filter
public static int aliquotSum(int number) {
return factorsOf(number).sum() - number;
}
public static boolean isPerfect(int number) {
return aliquotSum(number) == number;
}
public static boolean isAbundant(int number) {
return aliquotSum(number)> number;
}
public static boolean isDeficient(int number) {
return aliquotSum(number) < number;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment