Statistics

Problem Statement for "EllysDifferentPrimes"

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 int N, return the different prime that is closest to N. If there are two different primes tied for being the closest one to N, return the smaller of the two.

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

  1. 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.

  2. 123457

    Returns: 123457

    The number 123457 itself is a different prime.

  3. 6661337

    Returns: 6701459

    Sometimes the answer is a number larger than N.

  4. 42424242

    Returns: 42398701

  5. 42

    Returns: 41

  6. 1

    Returns: 2

  7. 2

    Returns: 2

  8. 3

    Returns: 3

  9. 4

    Returns: 3

  10. 5

    Returns: 5

  11. 6

    Returns: 5

  12. 7

    Returns: 7

  13. 8

    Returns: 7

  14. 9

    Returns: 7

  15. 10

    Returns: 7

  16. 666

    Returns: 659

  17. 1337

    Returns: 1327

  18. 13

    Returns: 13

  19. 17

    Returns: 17

  20. 12345678

    Returns: 12345709

  21. 43211234

    Returns: 43210967

  22. 421337

    Returns: 421397

  23. 1337666

    Returns: 1340527

  24. 666666

    Returns: 670129

  25. 42666666

    Returns: 42670183

  26. 44500000

    Returns: 43987651

  27. 11111111

    Returns: 10987523

  28. 22222222

    Returns: 21987403

  29. 33333333

    Returns: 32987051

  30. 44444444

    Returns: 43987651

  31. 10000000

    Returns: 9876413

  32. 20000000

    Returns: 19876453

  33. 30000000

    Returns: 29876543

  34. 40000000

    Returns: 39876401

  35. 50000000

    Returns: 50123467

  36. 49999999

    Returns: 49876531

  37. 11512620

    Returns: 12034597

  38. 22505059

    Returns: 23014759

  39. 33470874

    Returns: 32987051

  40. 11546824

    Returns: 12034597

  41. 44487937

    Returns: 43987651

  42. 11469612

    Returns: 10987523

  43. 44486206

    Returns: 43987651

  44. 22476710

    Returns: 21987403

  45. 11500732

    Returns: 10987523

  46. 11505382

    Returns: 10987523

  47. 28510007

    Returns: 28509763

  48. 19423711

    Returns: 19423867

  49. 22025741

    Returns: 21987403

  50. 46390873

    Returns: 46390871

  51. 14394047

    Returns: 14395267

  52. 41625853

    Returns: 41625803

  53. 15626803

    Returns: 15627043

  54. 36420977

    Returns: 36420719

  55. 41882987

    Returns: 41879603

  56. 49927699

    Returns: 49876531

  57. 8637543

    Returns: 8637521

  58. 23841230

    Returns: 23840917

  59. 11680421

    Returns: 12034597

  60. 37846415

    Returns: 37846519

  61. 1077271

    Returns: 1076953

  62. 46219962

    Returns: 46219807

  63. 23748677

    Returns: 23748691

  64. 31515373

    Returns: 31520479

  65. 20094951

    Returns: 20134759

  66. 14837114

    Returns: 14837269

  67. 19991379

    Returns: 19876453

  68. 29389015

    Returns: 29387641

  69. 49467211

    Returns: 49501723

  70. 22458955

    Returns: 21987403

  71. 24769066

    Returns: 24768901

  72. 33267573

    Returns: 32987051

  73. 13197982

    Returns: 13204567

  74. 13608296

    Returns: 13608247

  75. 3818730

    Returns: 3819527

  76. 49422591

    Returns: 49387651

  77. 38409750

    Returns: 38409751

  78. 42285877

    Returns: 42301687

  79. 29236224

    Returns: 29187643

  80. 44006186

    Returns: 43987651

  81. 19653398

    Returns: 19653827

  82. 13914084

    Returns: 13908527

  83. 11989542

    Returns: 12034597

  84. 3344770

    Returns: 3298657

  85. 30932288

    Returns: 30928571

  86. 33451078

    Returns: 32987051

  87. 37716373

    Returns: 37698251

  88. 42904417

    Returns: 42903857

  89. 6710476

    Returns: 6710329

  90. 17936968

    Returns: 17940563

  91. 41155564

    Returns: 41203579

  92. 30349565

    Returns: 30298657

  93. 5189740

    Returns: 5189623

  94. 49052377

    Returns: 49052387

  95. 819633

    Returns: 819647

  96. 41077287

    Returns: 41076839

  97. 17079111

    Returns: 17082649

  98. 17389823

    Returns: 17386549

  99. 49121578

    Returns: 49120873

  100. 427520

    Returns: 427513

  101. 4751708

    Returns: 4751809

  102. 11

    Returns: 13

  103. 11511060

    Returns: 10987523

  104. 49651073

    Returns: 49651027

  105. 47326803

    Returns: 47326519


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: