Problem Statement
Michal's younger brother Jan is learning how to subtract. Michal would like to generate some non-trivial exercises for him.
You are given the
- Both x and y are between 1 and 10^9, inclusive.
- The difference x-y is exactly equal to result.
- The number y has the same number of digits as result.
- The number x has more digits than result.
Return the
Definition
- Class:
- SubtractionGenerator
- Method:
- generate
- Parameters:
- int
- Returns:
- int[]
- Method signature:
- int[] generate(int result)
- (be sure your method is public)
Notes
- The return value should be a int[] with two elements: element 0 should be x and element 1 should be y.
- A valid solution always exists.
- Any valid solution will be accepted.
Constraints
- result will be between 1 and 10^6, inclusive.
Examples
47
Returns: {123, 76 }
123 - 76 = 47 Make sure that your x has more digits than the result. For example, the output {95, 48} isn't valid: even though 95 - 48 = 47, 95 doesn't have more digits than 47. Also make sure that you return the bigger number first. The output {76, 123} would also get rejected.
853
Returns: {1234, 381 }
1
Returns: {10, 9 }
2
Returns: {10, 8 }
3
Returns: {10, 7 }
4
Returns: {10, 6 }
5
Returns: {10, 5 }
6
Returns: {10, 4 }
7
Returns: {10, 3 }
8
Returns: {10, 2 }
9
Returns: {10, 1 }
10
Returns: {100, 90 }
11
Returns: {100, 89 }
12
Returns: {100, 88 }
19
Returns: {100, 81 }
29
Returns: {100, 71 }
31
Returns: {100, 69 }
49
Returns: {100, 51 }
50
Returns: {100, 50 }
90
Returns: {100, 10 }
93
Returns: {103, 10 }
100
Returns: {1000, 900 }
110
Returns: {1000, 890 }
200
Returns: {1000, 800 }
213
Returns: {1000, 787 }
298
Returns: {1000, 702 }
346
Returns: {1000, 654 }
900
Returns: {1000, 100 }
1000
Returns: {10000, 9000 }
1092
Returns: {10000, 8908 }
1096
Returns: {10000, 8904 }
1456
Returns: {10000, 8544 }
1510
Returns: {10000, 8490 }
2659
Returns: {10000, 7341 }
2952
Returns: {10000, 7048 }
3510
Returns: {10000, 6490 }
3980
Returns: {10000, 6020 }
6053
Returns: {10000, 3947 }
7335
Returns: {10000, 2665 }
8556
Returns: {10000, 1444 }
10000
Returns: {100000, 90000 }
11402
Returns: {100000, 88598 }
11772
Returns: {100000, 88228 }
12409
Returns: {100000, 87591 }
15199
Returns: {100000, 84801 }
17471
Returns: {100000, 82529 }
18432
Returns: {100000, 81568 }
27965
Returns: {100000, 72035 }
30527
Returns: {100000, 69473 }
30874
Returns: {100000, 69126 }
49337
Returns: {100000, 50663 }
58485
Returns: {100000, 41515 }
64579
Returns: {100000, 35421 }
100000
Returns: {1000000, 900000 }
100001
Returns: {1000000, 899999 }
100010
Returns: {1000000, 899990 }
110000
Returns: {1000000, 890000 }
111810
Returns: {1000000, 888190 }
124999
Returns: {1000000, 875001 }
135054
Returns: {1000000, 864946 }
266933
Returns: {1000000, 733067 }
319892
Returns: {1000000, 680108 }
490530
Returns: {1000000, 509470 }
990000
Returns: {1090000, 100000 }
999998
Returns: {1099998, 100000 }
999999
Returns: {1099999, 100000 }
1000000
Returns: {10000000, 9000000 }
95
Returns: {190, 95 }
Make sure that your y has the same number of digits as the result. For example, the output {103, 8} isn't valid: even though 103 - 8 = 95, 8 doesn't have two digits.
91
Returns: {101, 10 }