Skip to content
Related Articles

Related Articles

Perfect cube greater than a given number

Improve Article
Save Article
  • Last Updated : 12 Oct, 2022
Improve Article
Save Article

Given a number N, the task is to find the next perfect cube greater than N.
Examples: 

Input: N = 6
Output: 8
8 is a greater number than 6 and
is also a perfect cube

Input: N = 9
Output: 27

Approach: 

  1. Find the cube root of given N.
  2. Calculate its floor value using floor function in C++.
  3. Then add 1 to it.
  4. Print cube of that number.

Below is the implementation of the above approach:

C++




// C++ implementation of above approach
#include <cmath>
#include <iostream>
using namespace std;
 
// Function to find the next perfect cube
int nextPerfectCube(int N)
{
    int nextN = floor(cbrt(N)) + 1;
 
    return nextN * nextN * nextN;
}
 
// Driver Code
int main()
{
    int n = 35;
 
    cout << nextPerfectCube(n);
    return 0;
}

Java




//Java implementation of above approach
import java.util.*;
import java.lang.*;
import java.io.*;
 
 
 
class GFG{
// Function to find the next perfect cube
static int nextPerfectCube(int N)
{
    int nextN = (int)Math.floor(Math.cbrt(N)) + 1;
  
    return nextN * nextN * nextN;
}
  
// Driver Code
public static void main(String args[])
{
    int n = 35;
  
    System.out.print(nextPerfectCube(n));
}
}

Python 3




# Python 3 implementation of above approach
 
# from math import everything
from math import *
 
# Function to find the next perfect cube
def nextPerfectCube(N) :
 
    nextN = floor(N ** (1/3)) + 1
 
    return nextN ** 3
 
 
# Driver code    
if __name__ == "__main__" :
 
    n = 35
    print(nextPerfectCube(n))
 
# This code is contributed by ANKITRAI1

C#




// C# implementation of above approach
using System;
class GFG
{
// Function to find the next perfect cube
static int nextPerfectCube(int N)
{
    int nextN = (int)Math.Floor(Math.Pow(N,
                         (double)1/3)) + 1;
 
    return nextN * nextN * nextN;
}
 
// Driver Code
public static void Main()
{
    int n = 35;
 
    Console.Write(nextPerfectCube(n));
}
}
 
// This code is contributed by ChitraNayal

PHP




<?php
// PHP implementation of above approach
 
// from math import everything
 
// Function to find the next perfect cube
function nextPerfectCube($N)
{
    $nextN = (int)(floor(pow($N,(1/3))) + 1);
 
    return $nextN * $nextN * $nextN ;
}
 
// Driver code    
 
    $n = 35;
    print(nextPerfectCube($n));
 
// This code is contributed by mits
?>

Javascript




<script>
 
// Javascript implementation of above approach
 
// Function to find the next perfect cube
function nextPerfectCube(N)
{
    let nextN = Math.floor(Math.cbrt(N)) + 1;
 
    return nextN * nextN * nextN;
}
 
// Driver Code
let n = 35;
 
document.write(nextPerfectCube(n));
 
</script>

Output: 

64

 

Time Complexity: O(logN) because it using cbrt function
Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!