Problem Statement |
| | It is a well known fact that of all numbers, the number 4 is the most relevant. Patterns related to the number 4 tend to appear everywhere. For example, the numerical perfection level is closely related to the number 4.
We define the perfection level of a positive integer N as k if N can be expressed as a product of 4 positive integers, each with a perfection level of at least (k-1), and cannot be expressed as a product of 4 positive integers, each with a perfection level greater than (k-1). There is one exception - if it is not possible to express N as a product of 4 positive integers all greater than 1, then the perfection level of N is 0.
Given a long N, return its perfection level. |
| |
Definition |
| | | Class: | NumericalPerfectionLevel | | Method: | getLevel | | Parameters: | long | | Returns: | int | | Method signature: | int getLevel(long N) | | (be sure your method is public) |
|
| |
|
| |
Constraints |
| - | N will be between 1 and 10000000000000 (10^13), inclusive. |
| |
Examples |
| 0) | |
| | | Returns: 0 | | 4 cannot be expressed as a product of 4 numbers all greater than 1. |
|
|
| 1) | |
| | | Returns: 1 | 144 = 4 x 2 x 3 x 6
The level of 4, 2, 3 and 6 is 0.
|
|
|
| 2) | |
| | | Returns: 1 | One of many possible ways to express 1152 is:
1152 = 144 x 2 x 2 x 2
Although 144's level is 1, the remaining factors are of level 0. There is no way to express 1152 as a product of four level 1 numbers.
|
|
|
| 3) | |
| | | Returns: 2 | 1679616 = 36 x 36 x 36 x 36
36 = 2 x 2 x 3 x 3 |
|
|