25 lines
577 B
Java
25 lines
577 B
Java
import java.util.stream.IntStream;
|
|
|
|
public class IteratedDigitsSquaring {
|
|
|
|
public static void main(String[] args) {
|
|
long r = IntStream.range(1, 100_000_000)
|
|
.parallel()
|
|
.filter(n -> calc(n) == 89)
|
|
.count();
|
|
System.out.println(r);
|
|
}
|
|
|
|
private static int calc(int n) {
|
|
while (n != 89 && n != 1) {
|
|
int total = 0;
|
|
while (n > 0) {
|
|
total += Math.pow(n % 10, 2);
|
|
n /= 10;
|
|
}
|
|
n = total;
|
|
}
|
|
return n;
|
|
}
|
|
}
|