TopcoderArchive
SRM12 Nov 2009
SRM 473

ChildlessNumbers

Problem statement, definition, constraints, and public examples.

Problem Statement

Let D(X) denote the sum of digits of the positive integer X. For example, D(4007) = 4 + 0 + 0 + 7 = 11.

Take any positive integer X, and let Y = X / D(X). If Y is an integer, we say that Y is the parent of X (and that X is a child of Y). For example, if X=12 then X / D(X) = 12 / (1+2) = 4, hence 4 is the parent of 12.

Note that multiple numbers can have the same parent. For example, 4 is also the parent of 36, as 36/(3+6) = 36/9 = 4.

We say that a number Y is childless if there is no positive integer X such that Y is the parent of X.

You are given two ints A and B. Find and return the count of all childless numbers that lie between A and B, inclusive.

Definition

Class:
ChildlessNumbers
Method:
howMany
Parameters:
int, int
Returns:
int
Method signature:
int howMany(int A, int B)
(be sure your method is public)

Constraints

  • A will be between 1 and 1,000,000,000, inclusive.
  • B will be between A and 1,000,000,000, inclusive.
  • B-A will be between 0 and 10,000, inclusive.

Examples

  1. 4
    7
    Returns: 0
    Each of the numbers {4,5,6,7} has at least one child. For example, 54 / (5+4) = 6, hence 6 is not childless.
  2. 37
    37
    Returns: 0
    E.g., 333 / (3+3+3) = 37.
  3. 61
    65
    Returns: 3
    In this range there are three childless numbers: 62, 63, and 65. For the other two we have 732 / (7+3+2) = 732/12 = 61 and 320 / (3+2+0) = 320/5 = 64.
  4. 275
    300
    Returns: 1
    The only childless number in this range is 276.
Back to all problems