Statistics

Problem Statement for "Refactoring"

Problem Statement

You have been hired to do some refactoring. You are not really sure what that is, but you think it has something to do with factoring a number multiple times.

Recall that a factorization of a positive integer n is a collection of at least two positive integers, each larger than one, whose product is n. Note that the order of the numbers in a factorization is ignored, so 2*12 and 12*2 represent the same factorization of 24. In fact, 24 has precisely 6 valid factorizations: 2*2*2*3, 2*2*6, 2*3*4, 2*12, 3*8, and 4*6.

To prepare for your job, write a program that, given an int n, returns the number of unique factorizations of n.

Definition

Class:
Refactoring
Method:
refactor
Parameters:
int
Returns:
int
Method signature:
int refactor(int n)
(be sure your method is public)

Constraints

  • n will be between 2 and 2,000,000,000 inclusive.

Examples

  1. 24

    Returns: 6

    This is the example from the problem statement.

  2. 9973

    Returns: 0

    9973 is a prime number, so there are no valid factorizations of 9973.

  3. 9240

    Returns: 295

  4. 1916006400

    Returns: 7389115

    The number of factorizations will never be larger than this.

  5. 2000000000

    Returns: 36534

  6. 1299827

    Returns: 0

  7. 1945944000

    Returns: 5416877

  8. 1816214400

    Returns: 6049130

  9. 1556755200

    Returns: 6348742

  10. 1676505600

    Returns: 6721611

  11. 648281634

    Returns: 8154

  12. 308897820

    Returns: 115499

  13. 870882012

    Returns: 18101

  14. 166742290

    Returns: 1314

  15. 858986865

    Returns: 2568

  16. 1892909200

    Returns: 164541

  17. 1001146575

    Returns: 4027

  18. 172994822

    Returns: 1662

  19. 1261332765

    Returns: 20777

  20. 1664874090

    Returns: 16600

  21. 1882672038

    Returns: 10104

  22. 1254067815

    Returns: 2751

  23. 845128284

    Returns: 26682

  24. 323871625

    Returns: 2568

  25. 1026227202

    Returns: 13081

  26. 1232137764

    Returns: 43491

  27. 172389945

    Returns: 2609

  28. 141526440

    Returns: 48033

  29. 303753450

    Returns: 26682

  30. 243053811

    Returns: 4027

  31. 487166680

    Returns: 10104

  32. 1233749517

    Returns: 1762

  33. 214363149

    Returns: 1662

  34. 1466695230

    Returns: 20777

  35. 1216580469

    Returns: 1074

  36. 6677

    Returns: 1

  37. 9765

    Returns: 35

  38. 3150

    Returns: 91

  39. 5691

    Returns: 4

  40. 3058

    Returns: 4

  41. 1739

    Returns: 1

  42. 1085

    Returns: 4

  43. 8690

    Returns: 14

  44. 8511

    Returns: 1

  45. 7442

    Returns: 3

  46. 309753417

    Returns: 4

  47. 653808593

    Returns: 4

  48. 158691406

    Returns: 1

  49. 153198242

    Returns: 10

  50. 1281921386

    Returns: 4

  51. 1639953613

    Returns: 14

  52. 1090148925

    Returns: 10

  53. 896484375

    Returns: 2769

  54. 817932128

    Returns: 249

  55. 597473144

    Returns: 6

  56. 931091308

    Returns: 35

  57. 1002380371

    Returns: 1

  58. 305297851

    Returns: 1

  59. 646057128

    Returns: 295

  60. 1475952148

    Returns: 565

  61. 25

    Returns: 1

  62. 36

    Returns: 8

  63. 2

    Returns: 0

  64. 3

    Returns: 0

  65. 4

    Returns: 1

  66. 1916006400

    Returns: 7389115

  67. 1073741824

    Returns: 5603


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: