Вот реализация Java 8 потоков:
public int divisorSum(int n) {
return IntStream.rangeClosed(1, n).filter(i -> n % i == 0).sum();
}
Обратите внимание, что rangeClosed
, как и ваш пример, включает n
. range()
исключает второй параметр (он будет включать только до n-1
).