Files
Java/src/main/java/com/thealgorithms/maths/PerfectCube.java
Taranjeet Singh Kalsi 957f633c93 Added function and fixed bug in PerfectCube.java (#3655)
* Added another function to PerfectCube.java

Added another function to PerfectCube.java and fixed a testing mistake in line number 9

* Created PerfectCubeTest.java

Created PerfectCubeTest.java

* fixed PerfectCubeTest.java

* Fixed bug in PerfectCube.java

Fixed bug in PerfectCube.java in isPerfectCube() function for negative numbers. Now It gives the correct output for perfect negative numbers.

* removed main() in PerfectCube.java
2022-10-29 11:57:17 +05:30

33 lines
942 B
Java

package com.thealgorithms.maths;
/**
* https://en.wikipedia.org/wiki/Cube_(algebra)
*/
public class PerfectCube {
/**
* Check if a number is perfect cube or not
*
* @param number number to check
* @return {@code true} if {@code number} is perfect cube, otherwise
* {@code false}
*/
public static boolean isPerfectCube(int number) {
number = Math.abs(number); // converting negative number to positive number
int a = (int) Math.pow(number, 1.0 / 3);
return a * a * a == number;
}
/**
* Check if a number is perfect cube or not by using Math.cbrt function
*
* @param number number to check
* @return {@code true} if {@code number} is perfect cube, otherwise
* {@code false}
*/
public static boolean isPerfectCubeMathCbrt(int number) {
double cubeRoot = Math.cbrt(number);
return cubeRoot == (int) cubeRoot;
}
}