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
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
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.
37
37
Returns: 0
E.g., 333 / (3+3+3) = 37.
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.
275
300
Returns: 1
The only childless number in this range is 276.
999990000
1000000000
Returns: 1950
24684440
24694440
Returns: 6504
796878566
796888566
Returns: 5990
246889265
246899265
Returns: 6714
Largest possible output.
600240035
600250035
Returns: 4015
1
61
Returns: 0
123
1234
Returns: 123
351335515
351344526
Returns: 1405
528977286
528987005
Returns: 1295
528960940
528970618
Returns: 1371
565076706
565085728
Returns: 1417
442067845
442076950
Returns: 2251
961895748
961904910
Returns: 906
775735046
775744477
Returns: 1284
278346336
278355401
Returns: 1305
257178195
257188149
Returns: 2043
902190830
902200076
Returns: 1556
725290028
725299440
Returns: 525
406229757
406239020
Returns: 889
467189414
467199296
Returns: 3084
63910586
63919677
Returns: 1442
85332141
85341410
Returns: 1097
492764954
492774046
Returns: 1438
464746988
464756249
Returns: 811
603290547
603300358
Returns: 1256
296892983
296902676
Returns: 3901
803175278
803184488
Returns: 2353
214912744
214922399
Returns: 2352
340977766
340987588
Returns: 2112
414128404
414137473
Returns: 3018
761144736
761154271
Returns: 1088
451108100
451117100
Returns: 1650
997454526
997464025
Returns: 2027
407297265
407306442
Returns: 1151
770251789
770261612
Returns: 1366
527905756
527914777
Returns: 1622
202945158
202954504
Returns: 768
414612527
414622395
Returns: 2491
77452467
77461924
Returns: 1282
131739827
131748843
Returns: 1938
707390900
707400065
Returns: 856
335226580
335235887
Returns: 1654
800534669
800544111
Returns: 2990
45837515
45846949
Returns: 1394
927960385
927969700
Returns: 1889
249227989
249237894
Returns: 3478
885857927
885867183
Returns: 1770
207764884
207774832
Returns: 3763
211551607
211561224
Returns: 3312
436228931
436238581
Returns: 936
22690928
22700715
Returns: 3556
217067930
217077313
Returns: 3535
895261871
895271781
Returns: 1362
687568321
687577878
Returns: 1558
335719561
335728799
Returns: 1395
920197459
920207276
Returns: 664
887825232
887834270
Returns: 1561
808568719
808578169
Returns: 2359
971902894
971912231
Returns: 1739
139388593
139397863
Returns: 925
29377021
29386652
Returns: 2309
285595860
285604998
Returns: 951
80470052
80479564
Returns: 3467
426363320
426372571
Returns: 2383
458686126
458696071
Returns: 825
839114445
839123981
Returns: 960
22729068
22739067
Returns: 3793
90976355
90985904
Returns: 1971
594207268
594216282
Returns: 2173
452450289
452459927
Returns: 3360
926013635
926022710
Returns: 1406
460148421
460158182
Returns: 545
510547903
510557870
Returns: 2280
941340139
941349233
Returns: 2093
111473196
111482265
Returns: 1925
667187816
667197285
Returns: 2489
389177008
389186264
Returns: 1922
64545658
64554884
Returns: 841
799481524
799490766
Returns: 4546
731982026
731991140
Returns: 1346
620241859
620251622
Returns: 1665
258688078
258697252
Returns: 1419
680666105
680675973
Returns: 1322
223440998
223450193
Returns: 1881
321940804
321950658
Returns: 1451
386920061
386929443
Returns: 1515
881775038
881784297
Returns: 1428
850152307
850162266
Returns: 862
600967234
600976804
Returns: 1538
206877322
206887276
Returns: 3209
813560941
813570525
Returns: 2158
565266145
565275513
Returns: 2238
846678419
846688125
Returns: 1748
74143003
74152705
Returns: 1750
858352832
858362107
Returns: 1697
950610321
950619370
Returns: 1056
435269929
435279120
Returns: 3562
96815209
96824357
Returns: 1466
337495332
337504692
Returns: 1436
613762382
613771764
Returns: 1986
760418416
760427846
Returns: 1692
362224294
362233495
Returns: 2314
737726465
737736172
Returns: 1340
136520361
136529929
Returns: 2399
282195070
282204289
Returns: 819
902563388
902573199
Returns: 998
785765956
785775447
Returns: 3577
1
10000
Returns: 1437
966660000
966670000
Returns: 971
Requires checking sum of at least 93
900000000
900010000
Returns: 1429
999990000
999999999
Returns: 1950
100000000
100010000
Returns: 1794
90000000
90010000
Returns: 1429
999999000
1000000000
Returns: 192
912335671
912345671
Returns: 814
999989876
999999875
Returns: 1953
790829357
790839357
Returns: 2351
63
63
Returns: 1
999999990
1000000000
Returns: 1
999999990
999999999
Returns: 1
10
10000
Returns: 1437
999989999
999999999
Returns: 1950
981230000
981232981
Returns: 222