import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class row { public static void main(String[] args) throws IOException { System.err.println("Hello World, it's row here!"); System.err.println("Start reading...."); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String line = reader.readLine(); String[] splitedLine = line.split(" "); System.err.println("Read: " + line); System.err.println("Splitted on " + splitedLine.length + " parts: " + Arrays.toString(splitedLine)); long k = Long.parseLong(splitedLine[0]); long a = Long.parseLong(splitedLine[1]); long b = Long.parseLong(splitedLine[2]); reader.close(); long result = solve(k, a, b); System.out.println(result); } public static long solve(long k, long a, long b) { long counter = 0; for (long i = a; i <= b; i++) { if (sumDigitsSquares(i) * k == i) { System.err.println("Found i=" + i); counter += 1; } } return counter; } private static int sumDigitsSquares(long i) { int sum = 0; while (i > 0) { long digit = i % 10; sum += digit * digit; i = i / 10; } return sum; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class row { public static void main(String[] args) throws IOException { System.err.println("Hello World, it's row here!"); System.err.println("Start reading...."); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String line = reader.readLine(); String[] splitedLine = line.split(" "); System.err.println("Read: " + line); System.err.println("Splitted on " + splitedLine.length + " parts: " + Arrays.toString(splitedLine)); long k = Long.parseLong(splitedLine[0]); long a = Long.parseLong(splitedLine[1]); long b = Long.parseLong(splitedLine[2]); reader.close(); long result = solve(k, a, b); System.out.println(result); } public static long solve(long k, long a, long b) { long counter = 0; for (long i = a; i <= b; i++) { if (sumDigitsSquares(i) * k == i) { System.err.println("Found i=" + i); counter += 1; } } return counter; } private static int sumDigitsSquares(long i) { int sum = 0; while (i > 0) { long digit = i % 10; sum += digit * digit; i = i / 10; } return sum; } } |