Statistics

Problem Statement for "EllysThreePrimes"

Problem Statement

Kriss told Elly her three favorite five-digit prime numbers. Elly was lazy to remember them exactly, so she decided that she will write them below each other and she will only remember the sum of digits in each column. For example, if Kriss likes the primes 42649, 18287, and 91703, Elly will write them as follows:

    42649
    18287
    91703

Then, she will sum each column of digits separately, from the right to the left (i.e., starting with the ones digit of each number). In our example, the sums she will get are 9+7+3 = 19, 4+8+0 = 12, 6+2+7 = 15, 2+8+1 = 11, and 4+1+9 = 14.

Elly thought that it would be easy to reconstruct the numbers Kriss told her from the sums she remembers. It turns out that not only is it hard (since the answer can be ambiguous), but already finding any three distinct five-digit prime numbers that satisfy the conditions isn't trivial.

Now Elly has given you the five sums she remembers in the int[] sums, where sums[i] is the sum of digits that correspond to 10^i. Return a int[] with three elements - three distinct five-digit prime numbers, whose digits sum to the given numbers. If Elly didn't remember some of the numbers correctly and an answer doesn't exist, return an empty int[] instead.

Definition

Class:
EllysThreePrimes
Method:
getPrimes
Parameters:
int[]
Returns:
int[]
Method signature:
int[] getPrimes(int[] sums)
(be sure your method is public)

Notes

  • A prime number (or a prime) is a natural number greater than 1 that cannot be formed by multiplying two smaller natural numbers. (Wikipedia)
  • The five-digit primes cannot have leading zeros. For example, 00047 is not a five-digit prime.

Constraints

  • sums will contain exactly 5 elements.
  • Each element of sums will be between 0 and 27, inclusive.

Examples

  1. {19, 12, 15, 11, 14}

    Returns: {20533, 87119, 44987 }

    You don't necessarily need to return the primes Kriss gave to Elly. You may return any three different ones that satisfy the conditions.

  2. {22, 19, 3, 8, 23}

    Returns: { }

    In this case Elly doesn't remember the sums properly, as there are no three different primes whose digits sum to these numbers.

  3. {13, 17, 0, 25, 20}

    Returns: {27011, 99083, 99089 }

  4. {11, 12, 13, 14, 15}

    Returns: {47221, 23789, 94421 }

  5. {14, 27, 6, 12, 15}

    Returns: { }

    No three five-digit primes have an even sum of the units digits.

  6. {17, 26, 26, 26, 5}

    Returns: { }

  7. {14, 15, 14, 15, 3}

    Returns: { }

  8. {14, 11, 15, 12, 19}

    Returns: { }

  9. {3, 6, 27, 0, 6}

    Returns: { }

  10. {9, 21, 27, 0, 3}

    Returns: { }

  11. {27, 3, 3, 27, 27}

    Returns: { }

  12. {27, 6, 27, 3, 27}

    Returns: { }

  13. {9, 0, 4, 0, 5}

    Returns: { }

  14. {23, 2, 0, 24, 27}

    Returns: { }

  15. {27, 0, 1, 23, 7}

    Returns: { }

  16. {25, 1, 27, 27, 24}

    Returns: { }

  17. {3, 25, 1, 2, 27}

    Returns: { }

  18. {0, 0, 0, 0, 0}

    Returns: { }

  19. {27, 27, 27, 27, 27}

    Returns: { }

  20. {13, 13, 13, 13, 13}

    Returns: {10007, 35543, 98893 }

  21. {14, 14, 14, 14, 14}

    Returns: { }

  22. {15, 15, 15, 15, 15}

    Returns: {10007, 56687, 99971 }

  23. {16, 16, 16, 16, 16}

    Returns: { }

  24. {17, 17, 17, 17, 17}

    Returns: {10007, 78889, 99991 }

  25. {23, 3, 0, 0, 3}

    Returns: {10007, 10009, 10037 }

  26. {11, 24, 27, 27, 27}

    Returns: {99971, 99989, 99991 }

  27. {15, 10, 0, 9, 15}

    Returns: {10007, 51061, 98047 }

  28. {17, 19, 24, 21, 12}

    Returns: {13619, 49991, 79997 }

  29. {19, 12, 3, 0, 27}

    Returns: {90001, 90059, 90379 }

  30. {19, 16, 21, 27, 9}

    Returns: {19301, 19979, 79999 }

  31. {19, 11, 15, 18, 3}

    Returns: {10009, 19753, 19867 }

  32. {13, 10, 15, 6, 15}

    Returns: {10007, 51683, 95923 }

  33. {27, 25, 18, 18, 19}

    Returns: {10399, 99689, 99989 }

  34. {19, 18, 18, 25, 27}

    Returns: {97039, 99971, 99989 }

  35. {3, 12, 2, 3, 23}

    Returns: {50021, 91081, 92221 }

  36. {23, 3, 2, 12, 3}

    Returns: {10007, 13009, 19237 }

  37. {3, 19, 26, 5, 23}

    Returns: {50891, 90931, 95971 }

  38. {23, 5, 26, 19, 3}

    Returns: {11827, 19919, 19927 }

  39. {3, 2, 26, 5, 25}

    Returns: {70901, 92821, 93901 }

  40. {25, 5, 26, 2, 3}

    Returns: {10847, 10909, 12919 }

  41. {3, 8, 23, 2, 27}

    Returns: {90511, 90931, 92941 }

  42. {27, 2, 23, 8, 3}

    Returns: {10529, 11909, 17909 }

  43. {14, 19, 12, 15, 11}

    Returns: { }

  44. {16, 17, 13, 15, 15}

    Returns: { }

  45. {14, 15, 13, 16, 14}

    Returns: { }

  46. {27, 23, 25, 9, 19}

    Returns: {10789, 91969, 98999 }

  47. {19, 11, 26, 9, 5}

    Returns: {10831, 10909, 39989 }

  48. {17, 9, 9, 5, 7}

    Returns: {10007, 10067, 55933 }

  49. {15, 15, 14, 17, 2}

    Returns: { }

  50. {9, 19, 12, 22, 27}

    Returns: {94057, 99371, 99971 }

  51. {13, 12, 7, 3, 22}

    Returns: {40009, 90271, 93553 }

  52. {23, 14, 19, 27, 8}

    Returns: {19139, 19927, 69997 }

  53. {13, 20, 3, 7, 18}

    Returns: {10037, 82393, 95083 }

  54. {25, 26, 9, 6, 0}

    Returns: { }

  55. {27, 6, 3, 17, 15}

    Returns: {10009, 58229, 99149 }

  56. {9, 17, 17, 20, 11}

    Returns: {12007, 19991, 99881 }

  57. {21, 4, 16, 22, 22}

    Returns: {44029, 99709, 99923 }

  58. {3, 18, 15, 6, 15}

    Returns: {10061, 50891, 96731 }

  59. {23, 12, 8, 23, 26}

    Returns: {85027, 99149, 99767 }

  60. {13, 25, 18, 23, 8}

    Returns: {15073, 19993, 69997 }

  61. {11, 23, 3, 26, 17}

    Returns: {18061, 79397, 99083 }

  62. {13, 8, 20, 19, 19}

    Returns: {11311, 99859, 99923 }

  63. {7, 13, 25, 18, 7}

    Returns: {10711, 29983, 49943 }

  64. {25, 9, 19, 9, 14}

    Returns: {10139, 41947, 98929 }

  65. {3, 4, 19, 23, 20}

    Returns: {25321, 99721, 99901 }

  66. {7, 8, 4, 2, 18}

    Returns: {10061, 82223, 90203 }

  67. {7, 2, 3, 20, 16}

    Returns: {12011, 79103, 89213 }

  68. {7, 21, 2, 23, 25}

    Returns: {75083, 99083, 99251 }

  69. {21, 12, 26, 23, 27}

    Returns: {95923, 99829, 99989 }

  70. {9, 1, 27, 3, 17}

    Returns: {12907, 80911, 81901 }

  71. {17, 13, 11, 5, 20}

    Returns: {20011, 90247, 95989 }

  72. {15, 12, 19, 10, 11}

    Returns: {10103, 12979, 98953 }

  73. {7, 17, 6, 26, 7}

    Returns: {18013, 19183, 59581 }

  74. {9, 1, 6, 10, 22}

    Returns: {40013, 93503, 97103 }

  75. {11, 7, 19, 11, 15}

    Returns: {10103, 53951, 98927 }

  76. {9, 27, 4, 17, 18}

    Returns: {10091, 88397, 99191 }

  77. {17, 3, 16, 11, 0}

    Returns: { }

  78. {9, 4, 0, 23, 6}

    Returns: {15017, 19001, 49031 }

  79. {21, 7, 1, 14, 15}

    Returns: {10007, 56167, 98017 }

  80. {11, 11, 11, 13, 15}

    Returns: {10007, 54421, 99793 }

  81. {21, 7, 27, 22, 27}

    Returns: {95923, 98939, 99929 }

  82. {11, 18, 25, 20, 17}

    Returns: {12703, 79997, 99991 }

  83. {21, 24, 11, 14, 24}

    Returns: {60083, 95989, 99289 }

  84. {9, 10, 20, 23, 21}

    Returns: {35327, 99881, 99901 }

  85. {27, 20, 0, 20, 22}

    Returns: {46049, 95089, 99089 }

  86. {3, 7, 5, 3, 2}

    Returns: { }

  87. {3, 5, 20, 25, 5}

    Returns: {17351, 19801, 39901 }

  88. {27, 26, 20, 18, 0}

    Returns: { }

  89. {19, 25, 3, 26, 0}

    Returns: { }

  90. {5, 9, 9, 12, 15}

    Returns: {10061, 53101, 99833 }

  91. {13, 13, 11, 26, 15}

    Returns: {18013, 59239, 99991 }

  92. {9, 0, 0, 25, 25}

    Returns: { }

  93. {25, 21, 18, 9, 26}

    Returns: {80039, 91997, 98999 }

  94. {11, 25, 15, 6, 16}

    Returns: {10079, 64891, 92791 }

  95. {23, 15, 14, 0, 15}

    Returns: {10007, 60889, 80677 }

  96. {5, 6, 7, 0, 21}

    Returns: {30011, 90023, 90731 }

  97. {3, 4, 24, 18, 10}

    Returns: {10601, 39901, 69941 }

  98. {23, 16, 14, 5, 25}

    Returns: {70009, 90977, 95597 }

  99. {27, 2, 11, 26, 15}

    Returns: {18119, 59219, 99809 }

  100. {5, 27, 20, 7, 3}

    Returns: {10391, 10993, 17891 }

  101. {17, 14, 23, 14, 5}

    Returns: {10501, 16979, 38977 }

  102. {3, 0, 0, 0, 23 }

    Returns: { }

  103. {23, 0, 0, 0, 3 }

    Returns: { }

  104. {27, 3, 0, 0, 3 }

    Returns: { }

  105. {25, 0, 0, 0, 3 }

    Returns: { }

  106. {9, 9, 9, 9, 5 }

    Returns: {10007, 10091, 39901 }

  107. {15, 6, 0, 0, 3 }

    Returns: { }

  108. {23, 9, 6, 4, 6 }

    Returns: {10007, 10169, 44537 }

  109. {3, 3, 5, 18, 17 }

    Returns: {11131, 79301, 98101 }

  110. {18, 0, 0, 0, 2 }

    Returns: { }

  111. {27, 26, 27, 25, 27 }

    Returns: { }

  112. {21, 0, 0, 0, 3 }

    Returns: { }

  113. {19, 12, 15, 11, 14 }

    Returns: {20533, 87119, 44987 }

  114. {3, 0, 0, 0, 21 }

    Returns: { }

  115. {19, 0, 0, 0, 27 }

    Returns: { }

  116. {14, 11, 15, 12, 19 }

    Returns: { }

  117. {27, 27, 27, 27, 27 }

    Returns: { }

  118. {15, 21, 9, 14, 23 }

    Returns: {50033, 96199, 98893 }

  119. {10, 11, 12, 13, 14 }

    Returns: { }

  120. {21, 3, 0, 0, 3 }

    Returns: { }

  121. {27, 0, 27, 3, 3 }

    Returns: { }

  122. {11, 24, 27, 27, 27 }

    Returns: {99971, 99989, 99991 }

  123. {14, 13, 14, 14, 14 }

    Returns: { }

  124. {25, 26, 24, 27, 1 }

    Returns: { }

  125. {11, 26, 27, 27, 27 }

    Returns: { }

  126. {16, 10, 0, 4, 15 }

    Returns: { }


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: