Problem Statement
Elly calls a positive integer a different prime if it's a prime number and all its digits are distinct. For example, 13, 5419, and 102345697 are different primes but 1234 and 131 aren't. (The number 1234 is not a prime number and the number 131 has a repeated digit.)
Given a positive
Definition
- Class:
- EllysDifferentPrimes
- Method:
- getClosest
- Parameters:
- int
- Returns:
- int
- Method signature:
- int getClosest(int N)
- (be sure your method is public)
Notes
- A prime number (or a prime) is a natural number greater than 1 that has no positive divisors other than 1 and itself. Thus, the first few primes are 2, 3, 5, 7, 11, 13, 17, ...
Constraints
- N will be between 1 and 50,000,000, inclusive.
Examples
100
Returns: 97
The closest prime number to 100 is 101, but this is not a valid answer because the digit 1 occurs twice in 101. The next two closest primes to 100 are 97 and 103. Both of them are different primes and both of them have the difference 3 from N. In this situation we should return the smaller of the two numbers, so the correct return value is 97.
123457
Returns: 123457
The number 123457 itself is a different prime.
6661337
Returns: 6701459
Sometimes the answer is a number larger than N.
42424242
Returns: 42398701
42
Returns: 41
1
Returns: 2
2
Returns: 2
3
Returns: 3
4
Returns: 3
5
Returns: 5
6
Returns: 5
7
Returns: 7
8
Returns: 7
9
Returns: 7
10
Returns: 7
666
Returns: 659
1337
Returns: 1327
13
Returns: 13
17
Returns: 17
12345678
Returns: 12345709
43211234
Returns: 43210967
421337
Returns: 421397
1337666
Returns: 1340527
666666
Returns: 670129
42666666
Returns: 42670183
44500000
Returns: 43987651
11111111
Returns: 10987523
22222222
Returns: 21987403
33333333
Returns: 32987051
44444444
Returns: 43987651
10000000
Returns: 9876413
20000000
Returns: 19876453
30000000
Returns: 29876543
40000000
Returns: 39876401
50000000
Returns: 50123467
49999999
Returns: 49876531
11512620
Returns: 12034597
22505059
Returns: 23014759
33470874
Returns: 32987051
11546824
Returns: 12034597
44487937
Returns: 43987651
11469612
Returns: 10987523
44486206
Returns: 43987651
22476710
Returns: 21987403
11500732
Returns: 10987523
11505382
Returns: 10987523
28510007
Returns: 28509763
19423711
Returns: 19423867
22025741
Returns: 21987403
46390873
Returns: 46390871
14394047
Returns: 14395267
41625853
Returns: 41625803
15626803
Returns: 15627043
36420977
Returns: 36420719
41882987
Returns: 41879603
49927699
Returns: 49876531
8637543
Returns: 8637521
23841230
Returns: 23840917
11680421
Returns: 12034597
37846415
Returns: 37846519
1077271
Returns: 1076953
46219962
Returns: 46219807
23748677
Returns: 23748691
31515373
Returns: 31520479
20094951
Returns: 20134759
14837114
Returns: 14837269
19991379
Returns: 19876453
29389015
Returns: 29387641
49467211
Returns: 49501723
22458955
Returns: 21987403
24769066
Returns: 24768901
33267573
Returns: 32987051
13197982
Returns: 13204567
13608296
Returns: 13608247
3818730
Returns: 3819527
49422591
Returns: 49387651
38409750
Returns: 38409751
42285877
Returns: 42301687
29236224
Returns: 29187643
44006186
Returns: 43987651
19653398
Returns: 19653827
13914084
Returns: 13908527
11989542
Returns: 12034597
3344770
Returns: 3298657
30932288
Returns: 30928571
33451078
Returns: 32987051
37716373
Returns: 37698251
42904417
Returns: 42903857
6710476
Returns: 6710329
17936968
Returns: 17940563
41155564
Returns: 41203579
30349565
Returns: 30298657
5189740
Returns: 5189623
49052377
Returns: 49052387
819633
Returns: 819647
41077287
Returns: 41076839
17079111
Returns: 17082649
17389823
Returns: 17386549
49121578
Returns: 49120873
427520
Returns: 427513
4751708
Returns: 4751809
11
Returns: 13
11511060
Returns: 10987523
49651073
Returns: 49651027
47326803
Returns: 47326519