Problem Statement
Jaro has a favorite number: the non-negative integer N.
Jaro would also like to have a favorite prime number. But remembering new numbers is hard. Thus, the prime number must be reasonably small and it must contain his favorite number.
Find and return any
- X is a prime.
- X must have at most 12 digits.
- When written out in base 10, the digits of X must contain the digits of N as a contiguous substring.
Definition
- Class:
- PrimeWithSubstring
- Method:
- findPrime
- Parameters:
- int
- Returns:
- long
- Method signature:
- long findPrime(int N)
- (be sure your method is public)
Notes
- It is guaranteed that each valid input has a solution. Any valid solution will be accepted.
- Primes are positive integers with exactly two positive integer divisors. The smallest few primes are 2, 3, 5, 7, 11, 13, 17, ...
- The numbers 0 and 1 are not primes.
Constraints
- N will be between 0 and 10^9, inclusive.
Examples
47
Returns: 47
The number itself is a prime, so Jaro is in luck.
42
Returns: 15427
The number 15427 is prime, it is small enough, and "15427" does contain "42", so this is a valid answer. Note that, for example, 4021 is not a valid answer: it is a small prime, but "4021" does not contain "42".
0
Returns: 4021
Now 4021 is a perfectly acceptable answer.
123456789
Returns: 312345678971
Watch out for integer overflow, the answers are sometimes too big for a 32-bit data type.
111
Returns: 2111
999959782
Returns: 999959782181
1
Returns: 11
2
Returns: 2
3
Returns: 3
4
Returns: 41
5
Returns: 5
6
Returns: 61
7
Returns: 7
8
Returns: 83
9
Returns: 97
10
Returns: 101
11
Returns: 11
12
Returns: 127
13
Returns: 13
14
Returns: 149
15
Returns: 151
16
Returns: 163
17
Returns: 17
18
Returns: 181
19
Returns: 19
20
Returns: 2003
23
Returns: 23
24
Returns: 241
55
Returns: 557
60
Returns: 601
98
Returns: 983
99
Returns: 991
162
Returns: 1621
186
Returns: 1861
200
Returns: 2003
220
Returns: 2203
426
Returns: 4261
596
Returns: 59611
777
Returns: 77711
993
Returns: 9931
1285
Returns: 12853
1732
Returns: 17321
1988
Returns: 19889
2192
Returns: 21929
3021
Returns: 30211
5318
Returns: 53189
5905
Returns: 59051
7000
Returns: 70001
7777
Returns: 77773
11111
Returns: 111119
30398
Returns: 303983
34942
Returns: 349423
35396
Returns: 353963
90000
Returns: 900001
129158
Returns: 12915803
179310
Returns: 1793101
270108
Returns: 27010817
389047
Returns: 389047
485223
Returns: 48522337
777777
Returns: 77777719
800000
Returns: 8000009
851660
Returns: 85166009
1111111
Returns: 11111117
1578808
Returns: 157880851
1801625
Returns: 180162511
2047890
Returns: 204789001
2919165
Returns: 29191651
6000000
Returns: 600000001
7411995
Returns: 74119951
7511812
Returns: 75118129
10300131
Returns: 1030013107
12834795
Returns: 128347957
14124969
Returns: 141249697
14311787
Returns: 143117873
22222222
Returns: 222222227
22249658
Returns: 2224965803
23725878
Returns: 237258787
32608533
Returns: 3260853301
44780631
Returns: 447806311
50000000
Returns: 500000003
52768928
Returns: 5276892821
72117357
Returns: 721173577
109386516
Returns: 1093865161
112052869
Returns: 1120528699
114548465
Returns: 1145484653
116055547
Returns: 116055547
131400022
Returns: 1314000223
136670088
Returns: 13667008801
150794607
Returns: 15079460701
163784738
Returns: 16378473851
194539708
Returns: 1945397081
283733899
Returns: 2837338993
286544298
Returns: 28654429841
369426272
Returns: 36942627217
396477633
Returns: 3964776331
396738453
Returns: 39673845313
421294032
Returns: 42129403229
444604326
Returns: 44460432623
476656188
Returns: 47665618813
492128229
Returns: 4921282291
566292666
Returns: 56629266649
611626153
Returns: 6116261539
700751158
Returns: 7007511587
784281966
Returns: 78428196629
817750697
Returns: 81775069709
842998321
Returns: 84299832107
901340478
Returns: 9013404787
906266052
Returns: 90626605211
909911363
Returns: 9099113633
920208788
Returns: 9202087883
923504513
Returns: 92350451321
926997684
Returns: 92699768479
931474226
Returns: 93147422611
945411576
Returns: 9454115761
960879959
Returns: 96087995903
965898657
Returns: 96589865711
966396815
Returns: 9663968159
968673580
Returns: 96867358033
970903854
Returns: 97090385411
972939857
Returns: 97293985703
975645855
Returns: 9756458557
976146682
Returns: 97614668231
983489906
Returns: 98348990603
985298711
Returns: 98529871117
993286024
Returns: 9932860241
999206390
Returns: 99920639017
1000000000
Returns: 100000000003
This is the largest possible input.
32454
Returns: 3245401