Statistics

Problem Statement for "SemiPerfectSquare"

Problem Statement

Magical Girl Iris loves perfect squares. A positive integer n is a perfect square if and only if there is a positive integer b >= 1 such that b*b = n. For example, 1 (=1*1), 16 (=4*4), and 169 (=13*13) are perfect squares, while 2, 54, and 48 are not.
Iris also likes semi-squares. A positive integer n is called a semi-square if and only if there are positive integers a >= 1 and b > 1 such that a < b and a*b*b = n. For example, 81 (=1*9*9) and 48 (=3*4*4) are semi-squares, while 24, 63, and 125 are not. (Note that we require that a < b. Even though 24 can be written as 6*2*2, that does not make it a semi-square.)
You are given a int N. Return "Yes" (quotes for clarity) if N is a semi-square number. Otherwise, return "No".

Definition

Class:
SemiPerfectSquare
Method:
check
Parameters:
int
Returns:
String
Method signature:
String check(int N)
(be sure your method is public)

Notes

  • The return value is case-sensitive. Make sure that you return the exact strings "Yes" and "No".

Constraints

  • N will be between 2 and 1000, inclusive.

Examples

  1. 48

    Returns: "Yes"

    48 can be expressed as 3 * 4 * 4. Therefore, 48 is a semi-square.

  2. 1000

    Returns: "No"

    1000 can be represented as 10 * 10 * 10, but it doesn't match the definition of semi-perfect squares.

  3. 25

    Returns: "Yes"

  4. 47

    Returns: "No"

  5. 847

    Returns: "Yes"

  6. 3

    Returns: "No"

  7. 4

    Returns: "Yes"

  8. 5

    Returns: "No"

  9. 6

    Returns: "No"

  10. 7

    Returns: "No"

  11. 8

    Returns: "No"

  12. 9

    Returns: "Yes"

  13. 10

    Returns: "No"

  14. 16

    Returns: "Yes"

  15. 18

    Returns: "Yes"

  16. 27

    Returns: "No"

  17. 49

    Returns: "Yes"

  18. 83

    Returns: "No"

  19. 100

    Returns: "Yes"

  20. 396

    Returns: "No"

  21. 507

    Returns: "Yes"

  22. 33

    Returns: "No"

  23. 58

    Returns: "No"

  24. 63

    Returns: "No"

  25. 67

    Returns: "No"

  26. 72

    Returns: "Yes"

  27. 78

    Returns: "No"

  28. 81

    Returns: "Yes"

  29. 84

    Returns: "No"

  30. 98

    Returns: "Yes"

  31. 108

    Returns: "Yes"

  32. 121

    Returns: "Yes"

  33. 141

    Returns: "No"

  34. 144

    Returns: "Yes"

  35. 155

    Returns: "No"

  36. 162

    Returns: "Yes"

  37. 216

    Returns: "No"

  38. 225

    Returns: "Yes"

  39. 238

    Returns: "No"

  40. 240

    Returns: "No"

  41. 243

    Returns: "Yes"

  42. 265

    Returns: "No"

  43. 288

    Returns: "Yes"

  44. 289

    Returns: "Yes"

  45. 300

    Returns: "Yes"

  46. 303

    Returns: "No"

  47. 317

    Returns: "No"

  48. 320

    Returns: "Yes"

  49. 351

    Returns: "No"

  50. 377

    Returns: "No"

  51. 394

    Returns: "No"

  52. 405

    Returns: "Yes"

  53. 419

    Returns: "No"

  54. 438

    Returns: "No"

  55. 439

    Returns: "No"

  56. 441

    Returns: "Yes"

  57. 447

    Returns: "No"

  58. 449

    Returns: "No"

  59. 458

    Returns: "No"

  60. 472

    Returns: "No"

  61. 486

    Returns: "Yes"

  62. 512

    Returns: "Yes"

  63. 515

    Returns: "No"

  64. 554

    Returns: "No"

  65. 589

    Returns: "No"

  66. 600

    Returns: "Yes"

  67. 625

    Returns: "Yes"

  68. 635

    Returns: "No"

  69. 643

    Returns: "No"

  70. 647

    Returns: "No"

  71. 648

    Returns: "Yes"

  72. 659

    Returns: "No"

  73. 717

    Returns: "No"

  74. 735

    Returns: "No"

  75. 759

    Returns: "No"

  76. 766

    Returns: "No"

  77. 781

    Returns: "No"

  78. 813

    Returns: "No"

  79. 826

    Returns: "No"

  80. 841

    Returns: "Yes"

  81. 845

    Returns: "Yes"

  82. 852

    Returns: "No"

  83. 855

    Returns: "No"

  84. 887

    Returns: "No"

  85. 900

    Returns: "Yes"

  86. 930

    Returns: "No"

  87. 946

    Returns: "No"

  88. 968

    Returns: "Yes"

  89. 169

    Returns: "Yes"

  90. 529

    Returns: "Yes"

  91. 24

    Returns: "No"

  92. 12

    Returns: "No"

  93. 75

    Returns: "Yes"

  94. 50

    Returns: "Yes"

  95. 901

    Returns: "No"

  96. 576

    Returns: "Yes"

  97. 90

    Returns: "No"

  98. 343

    Returns: "No"

  99. 64

    Returns: "Yes"

  100. 20

    Returns: "No"

  101. 999

    Returns: "No"


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: