import java.math.BigInteger;
import java.util.Scanner;
class row {
final static int MAX_SUM = 9 * 9 * 18;
static BigInteger k;
static BigInteger a;
static BigInteger b;
public static void main(String[] args) {
readKAB();
int counter = 0;
for(Integer i = 0; i <= MAX_SUM; ++i) {
BigInteger kTimesI = k.multiply(new BigInteger(i.toString()));
if (kTimesI.compareTo(a) >= 0 && kTimesI.compareTo(b) <= 0) {
Integer sqSumKTimesI = calculateSqSum(kTimesI);
BigInteger kTimesSqSumKTimesI = k.multiply(new BigInteger(sqSumKTimesI.toString()));
if (kTimesI.compareTo(kTimesSqSumKTimesI) == 0) {
counter++;
}
}
}
System.out.println(counter);
}
private static int calculateSqSum(BigInteger number) {
int sum = 0;
String numStr = number.toString();
for (int i = 0; i < numStr.length(); ++i) {
int digit = Character.getNumericValue(numStr.charAt(i));
sum += digit*digit;
}
return sum;
}
private static void readKAB() {
Scanner scanner = new Scanner(System.in);
k = scanner.nextBigInteger();
a = scanner.nextBigInteger();
b = scanner.nextBigInteger();
}
}
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 | import java.math.BigInteger; import java.util.Scanner; class row { final static int MAX_SUM = 9 * 9 * 18; static BigInteger k; static BigInteger a; static BigInteger b; public static void main(String[] args) { readKAB(); int counter = 0; for(Integer i = 0; i <= MAX_SUM; ++i) { BigInteger kTimesI = k.multiply(new BigInteger(i.toString())); if (kTimesI.compareTo(a) >= 0 && kTimesI.compareTo(b) <= 0) { Integer sqSumKTimesI = calculateSqSum(kTimesI); BigInteger kTimesSqSumKTimesI = k.multiply(new BigInteger(sqSumKTimesI.toString())); if (kTimesI.compareTo(kTimesSqSumKTimesI) == 0) { counter++; } } } System.out.println(counter); } private static int calculateSqSum(BigInteger number) { int sum = 0; String numStr = number.toString(); for (int i = 0; i < numStr.length(); ++i) { int digit = Character.getNumericValue(numStr.charAt(i)); sum += digit*digit; } return sum; } private static void readKAB() { Scanner scanner = new Scanner(System.in); k = scanner.nextBigInteger(); a = scanner.nextBigInteger(); b = scanner.nextBigInteger(); } } |
English