Open In App

Cake number

Improve
Improve
Like Article
Like
Save
Share
Report

Consider a 3D cube and n planes. We can make cuts in the cube using given planes. A Cake Number for a given n is the maximum number of regions that can be formed by n planes. 
Series after n plane cuts (0 ≤ n)
1, 2, 4, 8, 15, 26, 42, 64, 93, 130, 176, 232, 299, 378, 470, 576, 697…

Examples: 

Input : 1
Output : 2
Explanation : 
With 1 plane cut the cube is divided into 2 regions

Input : 2
Output : 4
Explanation: 
With 2 plane cuts, we can divide the cube into 4 regions

Input : 4
Output : 15

Input : 5
Output : 26

The formula of nth Term of Cake number: 
 

n-th Cake Number = nC3 + nC2 + nC1 + nC0 
= (n3 + 5*n + 6) / 6

Below is the implementation of above approach : 
 

C++




// CPP Program to find the
// nth Cake number
#include <iostream>
using namespace std;
 
// function for Cake number
int number_cake(int n)
{
    // formula for find  Cake number
    // nth term
    return (n * n * n + 5 * n + 6) / 6;
}
 
// Driver Code
int main()
{
    // For 2nd cake Number
    int n = 2;
    cout << number_cake(n) << endl;
 
    // For 8th cake Number
    n = 8;
    cout << number_cake(n) << endl;
    // For 25th cake Number
    n = 25;
    cout << number_cake(n) << endl;
 
    return 0;
}


C




// C Program to find the
// nth Cake number
#include <stdio.h>
 
// function for Cake number
int number_cake(int n)
{
    // formula for find  Cake number
    // nth term
    return (n * n * n + 5 * n + 6) / 6;
}
 
// Driver Code
int main()
{
    // For 2nd cake Number
    int n = 2;
    printf("%d\n",number_cake(n));
 
    // For 8th cake Number
    n = 8;
    printf("%d\n",number_cake(n));
    // For 25th cake Number
    n = 25;
    printf("%d\n",number_cake(n));
 
    return 0;
}
 
// This code is contributed by kothavvsaakash


Java




// Java Program to find the nth Cake number
import java.io.*;
 
class GFG {
     
    // function for Cake number
    static int number_cake(int n)
    {
         
        // formula for find Cake number
        // nth term
        return (n * n * n + 5 * n + 6) / 6;
    }
     
    // Driver Code
    public static void main (String[] args)
    {
        // For 2nd cake Number
        int n = 2;
        System.out.println( number_cake(n));
     
        // For 8th cake Number
        n = 8;
        System.out.println( number_cake(n));
         
        // For 25th cake Number
        n = 25;
        System.out.println( number_cake(n));
    }
}
 
// This code is contributed by anuj_67.


Python3




# Python program to find
# nth Cake number
 
# Function to calculate
# Cake number
def number_cake(n):
 
    # Formula to calculate nth
    # Cake number
     
    return (n * n * n + 5 * n + 6) // 6
 
# Driver Code
n = 2
print(number_cake(n))
 
n = 8
print(number_cake(n))
 
n = 25
print(number_cake(n))
                     
# This code is contributed by aj_36                


C#




// C# Program to find the nth Cake number
using System;
 
class GFG {
     
    // function for Cake number
    static int number_cake(int n)
    {
         
        // formula for find Cake number
        // nth term
        return (n * n * n + 5 * n + 6) / 6;
    }
     
    // Driver Code
    public static void Main ()
    {
        // For 2nd cake Number
        int n = 2;
        Console.WriteLine( number_cake(n));
     
        // For 8th cake Number
        n = 8;
        Console.WriteLine( number_cake(n));
         
        // For 25th cake Number
        n = 25;
        Console.WriteLine( number_cake(n));
    }
}
 
// This code is contributed by anuj_67.


PHP




<?php
// PHP Program to find the
// nth Cake number
 
 
// function for Cake number
function number_cake( $n)
{
    // formula for find Cake
    // number nth term
    return ($n * $n * $n +
             5 * $n + 6) / 6;
}
 
// Driver Code
 
// For 2nd cake Number
$n = 2;
echo number_cake($n) ,"\n";
 
// For 8th cake Number
$n = 8;
echo number_cake($n)," \n";
// For 25th cake Number
$n = 25;
echo number_cake($n);
 
// This code is contributed by anuj_67.
?>


Javascript




<script>
    // Javascript Program to find the nth Cake number
     
    // function for Cake number
    function number_cake(n)
    {
           
        // formula for find Cake number
        // nth term
        return parseInt((n * n * n + 5 * n + 6) / 6, 10);
    }
     
    // For 2nd cake Number
    let n = 2;
    document.write( number_cake(n) + "</br>");
 
    // For 8th cake Number
    n = 8;
    document.write( number_cake(n) + "</br>");
 
    // For 25th cake Number
    n = 25;
    document.write( number_cake(n));
 
</script>


Output : 
 

4
93
2626

Time Complexity: O(1)
Auxiliary Space: O(1)
 



Last Updated : 06 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads