import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class row { public static void main(String... args) { @SuppressWarnings("resource") Scanner scanner = new Scanner(System.in); String line = scanner.nextLine(); String[] values = line.split(" "); long k = Long.valueOf(values[0]); long a = Long.valueOf(values[1]); long b = Long.valueOf(values[2]); List<Long> accepted = new ArrayList<>(); for (long i = a; i <= b; i++) { if (k * calculate(i) == i) { accepted.add(i); } } System.out.println(accepted.size()); } public static long calculate(Long n) { List<Long> digits = new ArrayList<Long>(); while (n > 0) { long d = n / 10; long k = n - d * 10; n = d; digits.add(k); } long value = 0; for (Long digit : digits) { value = value + (digit * digit); } return value; } }
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 | import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class row { public static void main(String... args) { @SuppressWarnings("resource") Scanner scanner = new Scanner(System.in); String line = scanner.nextLine(); String[] values = line.split(" "); long k = Long.valueOf(values[0]); long a = Long.valueOf(values[1]); long b = Long.valueOf(values[2]); List<Long> accepted = new ArrayList<>(); for (long i = a; i <= b; i++) { if (k * calculate(i) == i) { accepted.add(i); } } System.out.println(accepted.size()); } public static long calculate(Long n) { List<Long> digits = new ArrayList<Long>(); while (n > 0) { long d = n / 10; long k = n - d * 10; n = d; digits.add(k); } long value = 0; for (Long digit : digits) { value = value + (digit * digit); } return value; } } |