import java.util.Scanner;
public class row {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long k = scanner.nextLong();
long a = scanner.nextLong();
long b = scanner.nextLong();
scanner.close();
int maxFn = 17 * 9*9; // f(10^18 - 1)
int results = 0;
for (int i = 1; i <= maxFn; i++) {
long w = k * i;
if (w >= a && w <= b) {
if (k * f(w) == w) {
results++;
}
}
}
System.out.println(results);
}
private static int f(long n) {
int result = 0;
while (n != 0) {
long t = n % 10;
result += t * t;
n /= 10;
}
return result;
}
}
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 | import java.util.Scanner; public class row { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long k = scanner.nextLong(); long a = scanner.nextLong(); long b = scanner.nextLong(); scanner.close(); int maxFn = 17 * 9*9; // f(10^18 - 1) int results = 0; for (int i = 1; i <= maxFn; i++) { long w = k * i; if (w >= a && w <= b) { if (k * f(w) == w) { results++; } } } System.out.println(results); } private static int f(long n) { int result = 0; while (n != 0) { long t = n % 10; result += t * t; n /= 10; } return result; } } |
English