Statistics

Problem Statement for "FactorialTower"

Problem Statement

Note: this problem statement contains an image that may not display properly if viewed outside the applet.

Given an int m and a int[] a containing n numbers, return the result of the following expression:

Definition

Class:
FactorialTower
Method:
exprValue
Parameters:
int[], int
Returns:
int
Method signature:
int exprValue(int[] a, int m)
(be sure your method is public)

Notes

  • The expression is calculated from top to bottom. See example 5.
  • "x mod y" means the remainder of x divided by y.
  • Assume 0! = 1.

Constraints

  • a will contain between 1 and 50 elements, inclusive.
  • Each element of a will be between 0 and 2147483647, inclusive.
  • m will be between 1 and 40000, inclusive.

Examples

  1. {2,2,2,2}

    10

    Returns: 6

    Last digit of 65536.

  2. {3,8}

    100

    Returns: 76

    (3!8!) mod 100 = 76.

  3. {775,967,1,1,1}

    39877

    Returns: 4832

  4. {0}

    40000

    Returns: 1

    Remember that 0! is 1.

  5. {5,4,123456789,987654321,687955994,1162330089,195458992,1687386387, 1092101949,1086091397,902287014,341660341,1600834655,131565486,1494304912, 384585199,1883009662,916903507,1895924341,397197724,1883021244,1616061080, 1437763283,621297237,1883141487,282508826,285957625,1249530903,1484124572, 1822993209,1668351723,174237628,1589170712,992959839,1281777023,1158939002, 1488964134,1806511164,1519656093,159671689,542573000,1571768398,1203500608, 1053387535,793607740,1535801392,1798307613,552983945,901802936,1023595016}

    40000

    Returns: 0

  6. {3,0}

    5

    Returns: 1

  7. {39,1}

    1353

    Returns: 165

  8. {39,0}

    1353

    Returns: 165

  9. {39}

    1353

    Returns: 165

  10. {2,2}

    36864

    Returns: 4

  11. {2,2,2}

    36864

    Returns: 16

  12. {2,3}

    36864

    Returns: 64

  13. {2,3,2}

    36864

    Returns: 4096

    The expression is calculated from top to bottom. (2! to the power of (3!2!)) mod 36864 = 4096.

  14. {2,0}

    36864

    Returns: 2

  15. {2,1}

    160

    Returns: 2

  16. {2,2}

    160

    Returns: 4

  17. {2,3}

    160

    Returns: 64

  18. {2,4}

    160

    Returns: 96

  19. {2,5}

    160

    Returns: 96

  20. {39595,10513,123,32,2,2,0}

    39983

    Returns: 18526

  21. {39595,10513,123,32,2,2,2}

    39983

    Returns: 9411

  22. {2,2,2,2}

    36864

    Returns: 28672

  23. {6,568,0}

    10000

    Returns: 0

  24. {5,999,2150000}

    25

    Returns: 0

  25. {319,846,215,7467}

    1

    Returns: 0

  26. {1,7,199}

    39991

    Returns: 1

  27. {30000}

    39301

    Returns: 13487

  28. {3,7,6,2}

    100

    Returns: 76

  29. {8,1,999999999}

    2

    Returns: 0

  30. {1,0}

    1

    Returns: 0

  31. {0}

    1

    Returns: 0

  32. {0}

    2

    Returns: 1

  33. {0}

    40000

    Returns: 1

  34. {1}

    10

    Returns: 1

  35. {0,1}

    39991

    Returns: 1

  36. {6,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647}

    39953

    Returns: 1

  37. {39988}

    39989

    Returns: 39988

  38. {15150}

    39989

    Returns: 21709

  39. {15150,0}

    39989

    Returns: 21709

  40. {15150,2}

    39989

    Returns: 10316

  41. {15150,7}

    39989

    Returns: 33422

  42. {15150,15150}

    39989

    Returns: 1

  43. {15150,908573485,123456789,987654321,687955994,1162330089,195458992,1687386387,1092101949,1086091397,902287014,341660341,1600834655,131565486,1494304912,384585199,1883009662,916903507,1895924341,397197724,1883021244,1616061080,1437763283,621297237,1883141487,282508826,285957625,1249530903,1484124572,1822993209,1668351723,174237628,1589170712,992959839,1281777023,1158939002,1488964134,1806511164,1519656093,159671689,542573000,1571768398,1203500608,1053387535,793607740,1535801392,1798307613,552983945,901802936,1023595016}

    39989

    Returns: 1

  44. {5,4,123456789,987654321,687955994,1162330089,195458992,1687386387,1092101949,1086091397,902287014,341660341,1600834655,131565486,1494304912,384585199,1883009662,916903507,1895924341,397197724,1883021244,1616061080,1437763283,621297237,1883141487,282508826,285957625,1249530903,1484124572,1822993209,1668351723,174237628,1589170712,992959839,1281777023,1158939002,1488964134,1806511164,1519656093,159671689,542573000,1571768398,1203500608,1053387535,793607740,1535801392,1798307613,552983945,901802936,1023595016}

    40000

    Returns: 0

  45. {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}

    40000

    Returns: 1

  46. {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}

    2

    Returns: 1

  47. {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}

    1

    Returns: 0

  48. {1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}

    40000

    Returns: 1

  49. {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    40000

    Returns: 1

  50. {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    2

    Returns: 1

  51. {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    1

    Returns: 0

  52. {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}

    36864

    Returns: 28672

  53. {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}

    2

    Returns: 0

  54. {1,1,1,1,1,1,1,1,1,1,1,1,39595,10513,123,32,2,2,2,1,1,1,1,1,1}

    39983

    Returns: 1

  55. {39595,10513,123,32,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}

    39983

    Returns: 9411

  56. {39595,10513,123,32,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 9411

  57. {39595,10513,123,32,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,39595,10513,123,32,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}

    39983

    Returns: 9411

  58. {2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1}

    28677

    Returns: 2

  59. {39595,10513,31,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 32260

  60. {39595,10513,31,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 23029

  61. {39595,10513,31,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 16500

  62. {39595,10513,31,4,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 18526

  63. {39595,10513,31,4,5,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 18526

  64. {39595,10513,31,4,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 18526

  65. {39595,10513,31,4,28,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 18526

  66. {39595,10513,31,4,28,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 18526

  67. {39595,10513,31,4,28,687955994,1162330089,195458992,1687386387,1092101949,1086091397,902287014,341660341,1600834655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    39983

    Returns: 18526

  68. {3,1}

    5

    Returns: 1

  69. {2,17}

    39989

    Returns: 29110

  70. {2,15}

    32768

    Returns: 0

  71. {2,16}

    32768

    Returns: 0

  72. {2,14}

    32768

    Returns: 0

  73. {3,5330}

    32768

    Returns: 0

  74. {3,40000}

    32768

    Returns: 0

  75. {3,39999}

    32768

    Returns: 0

  76. {3,29999}

    32768

    Returns: 0

  77. {3,19999}

    32768

    Returns: 0

  78. {3,9999}

    32768

    Returns: 0

  79. {2,1,500,600}

    34816

    Returns: 2

  80. {2,500,600}

    34816

    Returns: 30720

  81. {2, 3, 2, 1, 10, 10, 3, 4, 7, 1, 4, 10, 9}

    97

    Returns: 75

  82. {7, 3, 2, 1, 10, 8, 10, 2, 3, 8, 2, 3, 1, 7, 3, 2, 1, 4, 5, 7, 8, 5, 3, 7, 3, 8, 8, 6, 1, 8, 1, 6, 3, 5, 6, 4, 5, 1, 3, 8, 6, 9, 7, 3, 6, 4, 2, 10, 5}

    82

    Returns: 40

  83. {9, 2, 2, 1}

    233

    Returns: 225

  84. {9, 2, 2}

    233

    Returns: 225

  85. {4, 3, 2, 1, 3, 8, 4, 6, 10, 4, 8, 9, 7, 4, 3, 2, 7, 3, 7, 5}

    578

    Returns: 310

  86. {2, 2, 1, 10, 10, 2, 6}

    536

    Returns: 4

  87. {5, 3, 2, 1}

    723

    Returns: 240

  88. {3, 2, 1, 5}

    392

    Returns: 36

  89. {2, 2, 0, 7, 5, 3, 2, 9, 9, 0, 8, 7, 10}

    72

    Returns: 4

  90. {2, 2, 0, 7, 5, 3, 2, 9, 9, 0, 8, 7, 10}

    20

    Returns: 4

  91. {2, 2, 0, 7}

    15

    Returns: 4

  92. {2, 2, 0, 7 }

    20

    Returns: 4

  93. {2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647 }

    40000

    Returns: 0

  94. {0 }

    1

    Returns: 0

  95. {3, 2, 5, 7 }

    40000

    Returns: 16256

  96. {2, 2 }

    128

    Returns: 4

  97. {2, 0 }

    4

    Returns: 2


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: