Problem Statement
For example, consider 4784/7475. We can remove the 7 in the numerator and the first 7 in the denominator, and then remove the second 4 in the numerator and the 4 in the denominator to get 48/75, which has the same value as the original fraction.
You are given the numerator and denominator of a fraction. Use the procedure described above to get a fraction with the smallest possible numerator. Return the resulting fraction formatted as "NUMERATOR/DENOMINATOR" (quotes for clarity only), where both the numerator and denominator are written without leading zeroes. If the procedure cannot be applied, return the original fraction.
Definition
- Class:
- AnomalousCancellation
- Method:
- reducedFraction
- Parameters:
- int, int
- Returns:
- String
- Method signature:
- String reducedFraction(int numerator, int denominator)
- (be sure your method is public)
Constraints
- numerator and denominator will each be between 10 and 9999, inclusive.
Examples
16
64
Returns: "1/4"
We can cancel the 6's to get 16/64=1/4.
4784
7475
Returns: "48/75"
This is the example from the problem statement.
25
25
Returns: "2/2"
The fraction can be reduced to 2/2 or 5/5. We choose 2/2 since it has the smallest numerator.
95
19
Returns: "5/1"
We can cancel the 9's to get 95/19=5/1.
100
1000
Returns: "1/10"
We can cancel two 0's to get 100/1000=1/10.
123
456
Returns: "123/456"
The numerator and denominator have no digits in common, so the cancellation procedure can't be applied.
151
1057
Returns: "1/7"
After cancelling the 1's and the 5's we get 151/1057=1/07, and we write the denominator without the leading zero.
776
197
Returns: "776/197"
119
611
Returns: "119/611"
472
991
Returns: "472/991"
693
307
Returns: "693/307"
399
761
Returns: "399/761"
562
841
Returns: "562/841"
929
26
Returns: "929/26"
851
901
Returns: "851/901"
13
952
Returns: "13/952"
61
766
Returns: "61/766"
102
110
Returns: "102/110"
775
485
Returns: "775/485"
104
708
Returns: "104/708"
682
380
Returns: "682/380"
534
789
Returns: "534/789"
774
450
Returns: "774/450"
756
754
Returns: "756/754"
996
424
Returns: "996/424"
819
371
Returns: "819/371"
268
796
Returns: "268/796"
530
958
Returns: "530/958"
705
799
Returns: "705/799"
423
267
Returns: "423/267"
756
408
Returns: "756/408"
530
528
Returns: "530/528"
16
250
Returns: "16/250"
102
442
Returns: "102/442"
26
65
Returns: "2/5"
13
325
Returns: "1/25"
34
136
Returns: "4/16"
49
392
Returns: "4/32"
83
332
Returns: "8/32"
23
1265
Returns: "3/165"
39
2925
Returns: "3/225"
53
1325
Returns: "5/125"
79
9875
Returns: "7/875"
104
208
Returns: "14/28"
130
325
Returns: "10/25"
234
936
Returns: "24/96"
473
572
Returns: "43/52"
424
742
Returns: "4/7"
104
1508
Returns: "4/58"
345
2415
Returns: "3/21"
428
4922
Returns: "8/92"
549
1098
Returns: "54/108"
637
1638
Returns: "7/18"
8436
9435
Returns: "836/935"
7878
8787
Returns: "78/87"
5994
7992
Returns: "54/72"
4932
8631
Returns: "492/861"
4095
8099
Returns: "45/89"
2349
9396
Returns: "24/96"
98
49
Returns: "8/4"
121
22
Returns: "11/2"
195
39
Returns: "15/3"
352
55
Returns: "32/5"
192
96
Returns: "12/6"
1728
27
Returns: "128/2"
1495
46
Returns: "195/6"
3584
56
Returns: "384/6"
5312
83
Returns: "512/8"
616
112
Returns: "66/12"
253
154
Returns: "23/14"
737
335
Returns: "77/35"
994
497
Returns: "94/47"
2461
214
Returns: "46/4"
1396
349
Returns: "16/4"
9796
496
Returns: "79/4"
9328
583
Returns: "928/58"
5192
649
Returns: "512/64"
8918
8190
Returns: "98/90"
6958
7952
Returns: "658/752"
7326
5328
Returns: "726/528"
6005
4804
Returns: "605/484"
5961
3974
Returns: "561/374"
81
81
Returns: "1/1"
29
29
Returns: "2/2"
208
208
Returns: "2/2"
564
564
Returns: "4/4"
9357
9357
Returns: "3/3"
8077
8077
Returns: "7/7"
210
1180
Returns: "21/118"
1300
1000
Returns: "13/10"
600
7800
Returns: "6/78"
500
250
Returns: "50/25"
451
4059
Returns: "1/9"
1083
1805
Returns: "3/5"
1089
1815
Returns: "9/15"
7961
419
Returns: "7961/419"
312
624
Returns: "312/624"
412
721
Returns: "412/721"
12
48
Returns: "12/48"