Problem Statement
You are given three integers: A, B and C. Return the integer X between A and B, inclusive, such that the absolute difference between the digit sum of X and the digit sum of C is as small as possible. If there are multiple possible values for X, return the smallest among them.
Definition
- Class:
- MinimalDifference
- Method:
- findNumber
- Parameters:
- int, int, int
- Returns:
- int
- Method signature:
- int findNumber(int A, int B, int C)
- (be sure your method is public)
Constraints
- A, B and C will each be between 1 and 1,000,000,000, inclusive.
- B-A will be between 0 and 100,000, inclusive.
Examples
1
9
10
Returns: 1
The digit sum of C is 1+0=1. Of the integers between 1 and 9, inclusive, only 1 has a digit sum equal to 1.
11
20
20
Returns: 11
The digit sum of C is 2+0=2. Of the integers between 11 and 20, inclusive, there are two which also have a digit sum of 2: 11 (1+1=2) and 20 (2+0=2). We choose 11 because it is smaller than 20.
1
1
999
Returns: 1
100
1000
99
Returns: 189
999990000
1000000000
1
Returns: 1000000000
85309234
85346169
337262359
Returns: 85309249
927106109
927144448
67731109
Returns: 927106117
196637359
196696076
970074859
Returns: 196637359
356793609
356805020
413434234
Returns: 356800006
913434234
913467889
960309234
Returns: 913434237
698590484
698596475
477887359
Returns: 698590489
292340484
292351357
284527984
Returns: 292342999
630231109
630238914
429059234
Returns: 630231599
489606109
489630874
749371734
Returns: 489606129
536481109
536520546
503277984
Returns: 536481189
159527984
159571437
26715484
Returns: 159528007
345074859
345078598
28668609
Returns: 345074859
182965484
183018083
761090484
Returns: 182965503
477887359
477944766
57965484
Returns: 477887403
423199859
423260526
772809234
Returns: 423199860
372418609
372448892
893902984
Returns: 372418999
280621734
280635471
886090484
Returns: 280622999
223981109
224046434
889996734
Returns: 223999999
421246734
421272453
464215484
Returns: 421246739
749371734
749426793
391949859
Returns: 749371899
36481109
36487180
431012359
Returns: 36481114
157574859
157575436
548199859
Returns: 157574999
731793609
731811494
825543609
Returns: 731793615
997418609
997473502
343121734
Returns: 997420000
845074859
845088318
157574859
Returns: 845074869
509137359
509167372
593121734
Returns: 509137361
397809234
397816331
811871734
Returns: 397809301
112652984
112701153
32574859
Returns: 112652989
302106109
302129790
352887359
Returns: 302119999
481793609
481821472
52106109
Returns: 481800003
419293609
419358488
657574859
Returns: 419294999
229840484
229851559
751324859
Returns: 229840487
9137359
9141524
975934234
Returns: 9137899
905621734
905631401
261090484
Returns: 905621740
893902984
893962301
669293609
Returns: 893902991
766949859
766977814
438824859
Returns: 766949901
741559234
741604007
405621734
Returns: 741560009
897809234
897863083
950543609
Returns: 897810008
712262359
712274018
429059234
Returns: 712262369
577496734
577506929
950543609
Returns: 577497002
407574859
407601440
647809234
Returns: 407574862
5231109
5275820
956402984
Returns: 5249999
472027984
472059133
456402984
Returns: 472027992
583356109
583410810
712262359
Returns: 583356115
561871734
561915183
618512359
Returns: 561871741
352887359
352949574
175152984
Returns: 352887360
565777984
565800659
757184234
Returns: 565778003
81402984
81458491
237652984
Returns: 81406999
757184234
757202053
600934234
Returns: 757190002
274762359
274810802
286481109
Returns: 274762362
85309234
85409234
370465484
Returns: 85309259
337262359
337362359
927106109
Returns: 337262363
7184234
7284234
67731109
Returns: 7184239
196637359
196737359
431012359
Returns: 196640002
970074859
970174859
356793609
Returns: 970074867
897809234
897909234
413434234
Returns: 897810000
913434234
913534234
979840484
Returns: 913436999
960309234
960409234
698590484
Returns: 960309899
26715484
26815484
477887359
Returns: 26779999
292340484
292440484
348981109
Returns: 292340599
284527984
284627984
630231109
Returns: 284530003
587262359
587362359
429059234
Returns: 587262404
489606109
489706109
899762359
Returns: 489606799
749371734
749471734
536481109
Returns: 749372005
915387359
915487359
503277984
Returns: 915387363
159527984
159627984
149762359
Returns: 159528079
26715484
26815484
345074859
Returns: 26715699
874371734
874471734
28668609
Returns: 874371735
182965484
183065484
479840484
Returns: 182965485
761090484
761190484
477887359
Returns: 761098999
893902984
894002984
57965484
Returns: 893903079
423199859
423299859
93121734
Returns: 423200199
772809234
772909234
372418609
Returns: 772809241
108746734
108846734
893902984
Returns: 108746899
280621734
280721734
958356109
Returns: 280621999
886090484
886190484
223981109
Returns: 886091003
71637359
71737359
889996734
Returns: 71699999
421246734
421346734
229840484
Returns: 421246769
464215484
464315484
749371734
Returns: 464215599
22809234
22909234
391949859
Returns: 22899999
36481109
36581109
792340484
Returns: 36481199
431012359
431112359
157574859
Returns: 431079999
13043609
13143609
548199859
Returns: 13099999
731793609
731893609
56012359
Returns: 731794000
825543609
825643609
997418609
Returns: 825543899
634137359
634237359
343121734
Returns: 634137400
845074859
845174859
897809234
Returns: 845074859
157574859
157674859
509137359
Returns: 157574904
524762359
524862359
593121734
Returns: 524762360
397809234
397909234
411481109
Returns: 397810001
811871734
811971734
112652984
Returns: 811871741
83356109
83456109
32574859
Returns: 83356189
302106109
302206109
325543609
Returns: 302106799
352887359
352987359
481793609
Returns: 352887365
948590484
948690484
52106109
Returns: 948600000
419293609
419393609
3277984
Returns: 419293615
657574859
657674859
229840484
Returns: 657575006
882184234
882284234
751324859
Returns: 882184238
9137359
9237359
751324859
Returns: 9137699
975934234
976034234
905621734
Returns: 975940003
1987
9123
1
Returns: 2000
106
30287
16783423
Returns: 7999
2507654
2572297
32
Returns: 2510000
599823407
599823407
9
Returns: 599823407
774299934
774299979
4
Returns: 774299940
96560959
96560959
1000000000
Returns: 96560959
867395769
867395773
1000000000
Returns: 867395770
398999681
398999681
1000000000
Returns: 398999681
999999999
999999999
1000000000
Returns: 999999999
679
679
8
Returns: 679
29
434
9295
Returns: 399
115045
115046
6593605
Returns: 115046
4
5
667879486
Returns: 5
1000000000
1000000000
999999999
Returns: 1000000000
676747503
676847503
556
Returns: 676800000
665947380
666047380
113
Returns: 666000000
94880065
94980065
4
Returns: 94900000
688208537
688308537
5
Returns: 688210000
888501675
888601675
1000000000
Returns: 888510000
937
100937
29774987
Returns: 99999
30
100030
776875586
Returns: 99999
2961
102961
998967870
Returns: 99999
8
100008
988975869
Returns: 99999
1
100000
999999999
Returns: 99999
999899999
999999999
1000000000
Returns: 999900000
1234
2345
1259
Returns: 1259
10
19
19
Returns: 19
98
99
4
Returns: 98
1
2
3
Returns: 2
10000
30000
11
Returns: 10001
1
3
3
Returns: 3
1
2
5
Returns: 2
100
200
300
Returns: 102
1
2
2
Returns: 2
1
9
999
Returns: 9
29
30
30
Returns: 30
1
1000
9999999
Returns: 999
21
30
30
Returns: 21
9
10
10
Returns: 10
2
10
10
Returns: 10
7
9
1
Returns: 7
2
3
3
Returns: 3
234324234
234424234
909099999
Returns: 234399999
19
20
5
Returns: 20
1
2
999
Returns: 2
500
1500
1000
Returns: 1000
1
7
7
Returns: 7
99999
99999
1
Returns: 99999
1
9998
9999
Returns: 8999
9990000
10000000
45312342
Returns: 9990000
6
8
9
Returns: 8
5
10
1
Returns: 10
1
30
77
Returns: 29
9
9
5
Returns: 9
7
13
12
Returns: 12
6
8
55
Returns: 8
1000
1030
9999
Returns: 1029
99
101
2
Returns: 101
5
9
54
Returns: 9
17
19
92
Returns: 19
1
4
2
Returns: 2
999900000
999999998
999999999
Returns: 999989999
10
12
14
Returns: 12
7
8
99999999
Returns: 8
5
5
10
Returns: 5
10
11
3
Returns: 11
10
20
29
Returns: 19
1
3
4
Returns: 3
5
8
3
Returns: 5
999999999
1000000000
10
Returns: 1000000000
1
6
7
Returns: 6
999900000
1000000000
10000001
Returns: 1000000000
234
1000
2
Returns: 300
9
19
92
Returns: 19