Esempio n. 1
0
 public static Stream<Long> primeFactors(long num) {
   return Stream.rangeClosed(2L, (int) Math.sqrt(num))
       .findFirst(d -> num % d == 0)
       .map(d -> Stream.cons(d, () -> primeFactors(num / d)))
       .orElseGet(() -> Stream.of(num));
 }