Skip to main content

Nth Pentanacci Number

In a Pentacci series, each term is the normalized to the sum of the five terms of the Fibonacci sequence. Whose initial fourth term has a value of 0, and the 5th element is 1. The value of its next element is taken from the sum of the previous 5 elements.

Here are the first few Pentanacci numbers: 0, 0, 0, 0, 1, 1, 2, 4, 8, 16, 31, 61, 120, 236, 464, 912, 1793, 3525, 6930, 13624, 26784, 52656, 103519, 203513, 400096, 786568, 1546352, 3040048, 5976577, 11749641, 23099186, 45411804, 89277256, 175514464, 345052351, 678355061, 1333610936,...

in simple terms this series is calculated by following formula .

Pentanacci numbers: 
    a(n) = a(n-1) + a(n-2) + a(n-3) + a(n-4) + a(n-5)

For the sake of the exercise, we aim to find the nth Fibonacci number in effective manner.

// C program for
// Nth Pentanacci Number
#include <stdio.h>


void nthPentanacciNo(int n)
{
    if(n <= 0)
    {
        return;
    }

    int result = 0;

    if(n == 5)
    {
        result = 1;
    }
    else if(n > 5)
    {
        
        int auxiliary[5];

        // Set Initial five pentanacci number
        auxiliary[0] = 0;
        auxiliary[1] = 0;
        auxiliary[2] = 0;
        auxiliary[3] = 0;
        auxiliary[4] = 1;

        // Executing the loop from 5..n
        for (int i = 5; i < n; ++i)
        {   
            // Sum the current 5 elements
            result = auxiliary[0] +
                    auxiliary[1] +
                    auxiliary[2] +
                    auxiliary[3] +
                    auxiliary[4];
            // Change series element
            auxiliary[0] = auxiliary[1];
            auxiliary[1] = auxiliary[2];
            auxiliary[2] = auxiliary[3];
            auxiliary[3] = auxiliary[4];
            auxiliary[4] = result;
        } 
    }
    // Display calculated result
    printf("\n %d-th Pentanacci No is : %d",n,result);
}   

int main(int argc, char const *argv[])
{
    // Test Cases
    /*
        Pentanacci Series
        -----------------
        0  0  0  0  1  2  4  8  16  31  61  120  236  
        464  912 1793  3525  6930  13624  26784  52656  
        103519  203513  400096  786568  1546352  
        3040048  5976577  11749641 ... 
    */
    nthPentanacciNo(30);
    nthPentanacciNo(8);
    nthPentanacciNo(10);
    nthPentanacciNo(15);
    return 0;
}

input

 30-th Pentanacci No is : 11749641
 8-th Pentanacci No is : 4
 10-th Pentanacci No is : 16
 15-th Pentanacci No is : 464
/*
    Java Program
    Nth Pentanacci Number
*/
public class PentanacciNo
{
    public void nthPentanacciNo(int n)
    {
        if (n <= 0)
        {
            return;
        }
        int result = 0;
        if (n == 5)
        {
            result = 1;
        }
        else if (n > 5)
        {
            int[] auxiliary = new int[5];
            // Set Initial five pentanacci number
            auxiliary[0] = 0;
            auxiliary[1] = 0;
            auxiliary[2] = 0;
            auxiliary[3] = 0;
            auxiliary[4] = 1;
            // Executing the loop from 5..n
            for (int i = 5; i < n; ++i)
            {
                // Sum the current 5 elements
                result = auxiliary[0] + auxiliary[1] + auxiliary[2] + auxiliary[3] + auxiliary[4];
                // Change series element
                auxiliary[0] = auxiliary[1];
                auxiliary[1] = auxiliary[2];
                auxiliary[2] = auxiliary[3];
                auxiliary[3] = auxiliary[4];
                auxiliary[4] = result;
            }
        }
        // Display calculated result
        System.out.print("\n " + n + "-th Pentanacci No is : " + result);
    }
    public static void main(String[] args)
    {
        PentanacciNo task = new PentanacciNo();
        /*
            Pentanacci Series
            -----------------
            0  0  0  0  1  2  4  8  16  31  61  120  236  
            464  912 1793  3525  6930  13624  26784  52656  
            103519  203513  400096  786568  1546352  
            3040048  5976577  11749641 ... 
        */
        // Test Cases
        task.nthPentanacciNo(30);
        task.nthPentanacciNo(8);
        task.nthPentanacciNo(10);
        task.nthPentanacciNo(15);
    }
}

input

 30-th Pentanacci No is : 11749641
 8-th Pentanacci No is : 4
 10-th Pentanacci No is : 16
 15-th Pentanacci No is : 464
// Include header file
#include <iostream>

using namespace std;
/*
    C++ Program
    Nth Pentanacci Number
*/
class PentanacciNo
{
    public: void nthPentanacciNo(int n)
    {
        if (n <= 0)
        {
            return;
        }
        int result = 0;
        if (n == 5)
        {
            result = 1;
        }
        else if (n > 5)
        {
            int auxiliary[5];
            // Set Initial five pentanacci number
            auxiliary[0] = 0;
            auxiliary[1] = 0;
            auxiliary[2] = 0;
            auxiliary[3] = 0;
            auxiliary[4] = 1;
            // Executing the loop from 5..n
            for (int i = 5; i < n; ++i)
            {
                // Sum the current 5 elements
                result = auxiliary[0] + auxiliary[1] + 
                  auxiliary[2] + auxiliary[3] + auxiliary[4];
                // Change series element
                auxiliary[0] = auxiliary[1];
                auxiliary[1] = auxiliary[2];
                auxiliary[2] = auxiliary[3];
                auxiliary[3] = auxiliary[4];
                auxiliary[4] = result;
            }
        }
        // Display calculated result
        cout << "\n " << n << "-th Pentanacci No is : " << result;
    }
};
int main()
{
    PentanacciNo *task = new PentanacciNo();
    /*
        Pentanacci Series
        -----------------
        0  0  0  0  1  2  4  8  16  31  61  120  236  
        464  912 1793  3525  6930  13624  26784  52656  
        103519  203513  400096  786568  1546352  
        3040048  5976577  11749641 ... 
    */
    // Test Cases
    task->nthPentanacciNo(30);
    task->nthPentanacciNo(8);
    task->nthPentanacciNo(10);
    task->nthPentanacciNo(15);
    return 0;
}

input

 30-th Pentanacci No is : 11749641
 8-th Pentanacci No is : 4
 10-th Pentanacci No is : 16
 15-th Pentanacci No is : 464
// Include namespace system
using System;
/*
    Csharp Program
    Nth Pentanacci Number
*/
public class PentanacciNo
{
    public void nthPentanacciNo(int n)
    {
        if (n <= 0)
        {
            return;
        }
        int result = 0;
        if (n == 5)
        {
            result = 1;
        }
        else if (n > 5)
        {
            int[] auxiliary = new int[5];
            // Set Initial five pentanacci number
            auxiliary[0] = 0;
            auxiliary[1] = 0;
            auxiliary[2] = 0;
            auxiliary[3] = 0;
            auxiliary[4] = 1;
            // Executing the loop from 5..n
            for (int i = 5; i < n; ++i)
            {
                // Sum the current 5 elements
                result = auxiliary[0] + auxiliary[1] + 
                  auxiliary[2] + auxiliary[3] + auxiliary[4];
                // Change series element
                auxiliary[0] = auxiliary[1];
                auxiliary[1] = auxiliary[2];
                auxiliary[2] = auxiliary[3];
                auxiliary[3] = auxiliary[4];
                auxiliary[4] = result;
            }
        }
        // Display calculated result
        Console.Write("\n " + n + "-th Pentanacci No is : " + result);
    }
    public static void Main(String[] args)
    {
        PentanacciNo task = new PentanacciNo();
        /*
            Pentanacci Series
            -----------------
            0  0  0  0  1  2  4  8  16  31  61  120  236  
            464  912 1793  3525  6930  13624  26784  52656  
            103519  203513  400096  786568  1546352  
            3040048  5976577  11749641 ... 
        */
        // Test Cases
        task.nthPentanacciNo(30);
        task.nthPentanacciNo(8);
        task.nthPentanacciNo(10);
        task.nthPentanacciNo(15);
    }
}

input

 30-th Pentanacci No is : 11749641
 8-th Pentanacci No is : 4
 10-th Pentanacci No is : 16
 15-th Pentanacci No is : 464
<?php
/*
    Php Program
    Nth Pentanacci Number
*/
class PentanacciNo
{
    public  function nthPentanacciNo($n)
    {
        if ($n <= 0)
        {
            return;
        }
        $result = 0;
        if ($n == 5)
        {
            $result = 1;
        }
        else if ($n > 5)
        {
            $auxiliary = array_fill(0, 5, 0);
            // Set Initial five pentanacci number
            $auxiliary[0] = 0;
            $auxiliary[1] = 0;
            $auxiliary[2] = 0;
            $auxiliary[3] = 0;
            $auxiliary[4] = 1;
            // Executing the loop from 5..n
            for ($i = 5; $i < $n; ++$i)
            {
                // Sum the current 5 elements
                $result = $auxiliary[0] + $auxiliary[1] + 
                  $auxiliary[2] + $auxiliary[3] + $auxiliary[4];
                // Change series element
                $auxiliary[0] = $auxiliary[1];
                $auxiliary[1] = $auxiliary[2];
                $auxiliary[2] = $auxiliary[3];
                $auxiliary[3] = $auxiliary[4];
                $auxiliary[4] = $result;
            }
        }
        // Display calculated result
        echo("\n ".$n.
            "-th Pentanacci No is : ".$result);
    }
}

function main()
{
    $task = new PentanacciNo();
    /*
        Pentanacci Series
        -----------------
        0  0  0  0  1  2  4  8  16  31  61  120  236  
        464  912 1793  3525  6930  13624  26784  52656  
        103519  203513  400096  786568  1546352  
        3040048  5976577  11749641 ... 
    */
    // Test Cases
    $task->nthPentanacciNo(30);
    $task->nthPentanacciNo(8);
    $task->nthPentanacciNo(10);
    $task->nthPentanacciNo(15);
}
main();

input

 30-th Pentanacci No is : 11749641
 8-th Pentanacci No is : 4
 10-th Pentanacci No is : 16
 15-th Pentanacci No is : 464
/*
    Node JS Program
    Nth Pentanacci Number
*/
class PentanacciNo
{
    nthPentanacciNo(n)
    {
        if (n <= 0)
        {
            return;
        }
        var result = 0;
        if (n == 5)
        {
            result = 1;
        }
        else if (n > 5)
        {
            var auxiliary = Array(5).fill(0);
            // Set Initial five pentanacci number
            auxiliary[0] = 0;
            auxiliary[1] = 0;
            auxiliary[2] = 0;
            auxiliary[3] = 0;
            auxiliary[4] = 1;
            // Executing the loop from 5..n
            for (var i = 5; i < n; ++i)
            {
                // Sum the current 5 elements
                result = auxiliary[0] + auxiliary[1] + 
                  auxiliary[2] + auxiliary[3] + auxiliary[4];
                // Change series element
                auxiliary[0] = auxiliary[1];
                auxiliary[1] = auxiliary[2];
                auxiliary[2] = auxiliary[3];
                auxiliary[3] = auxiliary[4];
                auxiliary[4] = result;
            }
        }
        // Display calculated result
        process.stdout.write("\n " + n + "-th Pentanacci No is : " + result);
    }
}

function main()
{
    var task = new PentanacciNo();
    /*
        Pentanacci Series
        -----------------
        0  0  0  0  1  2  4  8  16  31  61  120  236  
        464  912 1793  3525  6930  13624  26784  52656  
        103519  203513  400096  786568  1546352  
        3040048  5976577  11749641 ... 
    */
    // Test Cases
    task.nthPentanacciNo(30);
    task.nthPentanacciNo(8);
    task.nthPentanacciNo(10);
    task.nthPentanacciNo(15);
}
main();

input

 30-th Pentanacci No is : 11749641
 8-th Pentanacci No is : 4
 10-th Pentanacci No is : 16
 15-th Pentanacci No is : 464
#    Python 3 Program
#    Nth Pentanacci Number
class PentanacciNo :
    def nthPentanacciNo(self, n) :
        if (n <= 0) :
            return
        
        result = 0
        if (n == 5) :
            result = 1
        elif (n > 5) :
            auxiliary = [0] * (5)
            #  Set Initial five pentanacci number
            auxiliary[0] = 0
            auxiliary[1] = 0
            auxiliary[2] = 0
            auxiliary[3] = 0
            auxiliary[4] = 1
            #  Executing the loop from 5..n
            i = 5
            while (i < n) :
                #  Sum the current 5 elements
                result = auxiliary[0] + auxiliary[1] + auxiliary[2] + auxiliary[3] + auxiliary[4]
                #  Change series element
                auxiliary[0] = auxiliary[1]
                auxiliary[1] = auxiliary[2]
                auxiliary[2] = auxiliary[3]
                auxiliary[3] = auxiliary[4]
                auxiliary[4] = result
                i += 1
            
        
        #  Display calculated result
        print("\n ", n ,"-th Pentanacci No is : ", result, end = "")
    

def main() :
    task = PentanacciNo()
    #    Pentanacci Series
    #    -----------------
    #    0  0  0  0  1  2  4  8  16  31  61  120  236  
    #    464  912 1793  3525  6930  13624  26784  52656  
    #    103519  203513  400096  786568  1546352  
    #    3040048  5976577  11749641 ... 
    #  Test Cases
    task.nthPentanacciNo(30)
    task.nthPentanacciNo(8)
    task.nthPentanacciNo(10)
    task.nthPentanacciNo(15)

if __name__ == "__main__": main()

input

  30 -th Pentanacci No is :  11749641
  8 -th Pentanacci No is :  4
  10 -th Pentanacci No is :  16
  15 -th Pentanacci No is :  464
#    Ruby Program
#    Nth Pentanacci Number
class PentanacciNo 
    def nthPentanacciNo(n) 
        if (n <= 0) 
            return
        end

        result = 0
        if (n == 5) 
            result = 1
        elsif (n > 5) 
            auxiliary = Array.new(5) {0}
            #  Set Initial five pentanacci number
            auxiliary[0] = 0
            auxiliary[1] = 0
            auxiliary[2] = 0
            auxiliary[3] = 0
            auxiliary[4] = 1
            #  Executing the loop from 5..n
            i = 5
            while (i < n) 
                #  Sum the current 5 elements
                result = auxiliary[0] + auxiliary[1] + auxiliary[2] + 
                  auxiliary[3] + auxiliary[4]
                #  Change series element
                auxiliary[0] = auxiliary[1]
                auxiliary[1] = auxiliary[2]
                auxiliary[2] = auxiliary[3]
                auxiliary[3] = auxiliary[4]
                auxiliary[4] = result
                i += 1
            end

        end

        #  Display calculated result
        print("\n ", n ,"-th Pentanacci No is : ", result)
    end

end

def main() 
    task = PentanacciNo.new()
    #    Pentanacci Series
    #    -----------------
    #    0  0  0  0  1  2  4  8  16  31  61  120  236  
    #    464  912 1793  3525  6930  13624  26784  52656  
    #    103519  203513  400096  786568  1546352  
    #    3040048  5976577  11749641 ... 
    #  Test Cases
    task.nthPentanacciNo(30)
    task.nthPentanacciNo(8)
    task.nthPentanacciNo(10)
    task.nthPentanacciNo(15)
end

main()

input

 30-th Pentanacci No is : 11749641
 8-th Pentanacci No is : 4
 10-th Pentanacci No is : 16
 15-th Pentanacci No is : 464
/*
    Scala Program
    Nth Pentanacci Number
*/
class PentanacciNo()
{
    def nthPentanacciNo(n: Int): Unit = {
        if (n <= 0)
        {
            return;
        }
        var result: Int = 0;
        if (n == 5)
        {
            result = 1;
        }
        else if (n > 5)
        {
            var auxiliary: Array[Int] = Array.fill[Int](5)(0);
            // Set Initial five pentanacci number
            auxiliary(0) = 0;
            auxiliary(1) = 0;
            auxiliary(2) = 0;
            auxiliary(3) = 0;
            auxiliary(4) = 1;
            // Executing the loop from 5..n
            var i: Int = 5;
            while (i < n)
            {
                // Sum the current 5 elements
                result = auxiliary(0) + auxiliary(1) + 
                  auxiliary(2) + auxiliary(3) + auxiliary(4);
                // Change series element
                auxiliary(0) = auxiliary(1);
                auxiliary(1) = auxiliary(2);
                auxiliary(2) = auxiliary(3);
                auxiliary(3) = auxiliary(4);
                auxiliary(4) = result;
                i += 1;
            }
        }
        // Display calculated result
        print("\n " + n + "-th Pentanacci No is : " + result);
    }
}
object Main
{
    def main(args: Array[String]): Unit = {
        var task: PentanacciNo = new PentanacciNo();
        /*
            Pentanacci Series
            -----------------
            0  0  0  0  1  2  4  8  16  31  61  120  236  
            464  912 1793  3525  6930  13624  26784  52656  
            103519  203513  400096  786568  1546352  
            3040048  5976577  11749641 ... 
        */
        // Test Cases
        task.nthPentanacciNo(30);
        task.nthPentanacciNo(8);
        task.nthPentanacciNo(10);
        task.nthPentanacciNo(15);
    }
}

input

 30-th Pentanacci No is : 11749641
 8-th Pentanacci No is : 4
 10-th Pentanacci No is : 16
 15-th Pentanacci No is : 464
/*
    Swift 4 Program
    Nth Pentanacci Number
*/
class PentanacciNo
{
    func nthPentanacciNo(_ n: Int)
    {
        if (n <= 0)
        {
            return;
        }
        var result = 0;
        if (n == 5)
        {
            result = 1;
        }
        else if (n > 5)
        {
            var auxiliary = Array(repeating: 0, count: 5);
            // Set Initial five pentanacci number
            auxiliary[0] = 0;
            auxiliary[1] = 0;
            auxiliary[2] = 0;
            auxiliary[3] = 0;
            auxiliary[4] = 1;
            // Executing the loop from 5..n
            var i = 5;
            while (i < n)
            {
                // Sum the current 5 elements
                result = auxiliary[0] + auxiliary[1] + 
                  auxiliary[2] + auxiliary[3] + auxiliary[4];
                // Change series element
                auxiliary[0] = auxiliary[1];
                auxiliary[1] = auxiliary[2];
                auxiliary[2] = auxiliary[3];
                auxiliary[3] = auxiliary[4];
                auxiliary[4] = result;
                i += 1;
            }
        }
        // Display calculated result
        print("\n ", n ,"-th Pentanacci No is : ", 
              result, terminator: "");
    }
}
func main()
{
    let task = PentanacciNo();
    /*
        Pentanacci Series
        -----------------
        0  0  0  0  1  2  4  8  16  31  61  120  236  
        464  912 1793  3525  6930  13624  26784  52656  
        103519  203513  400096  786568  1546352  
        3040048  5976577  11749641 ... 
    */
    // Test Cases
    task.nthPentanacciNo(30);
    task.nthPentanacciNo(8);
    task.nthPentanacciNo(10);
    task.nthPentanacciNo(15);
}
main();

input

  30 -th Pentanacci No is :  11749641
  8 -th Pentanacci No is :  4
  10 -th Pentanacci No is :  16
  15 -th Pentanacci No is :  464
/*
    Kotlin Program
    Nth Pentanacci Number
*/
class PentanacciNo
{
    fun nthPentanacciNo(n: Int): Unit
    {
        if (n <= 0)
        {
            return;
        }
        var result: Int = 0;
        if (n == 5)
        {
            result = 1;
        }
        else if (n > 5)
        {
            val auxiliary: Array < Int > = Array(5)
            {
                0
            };
            // Set Initial five pentanacci number
            auxiliary[0] = 0;
            auxiliary[1] = 0;
            auxiliary[2] = 0;
            auxiliary[3] = 0;
            auxiliary[4] = 1;
            // Executing the loop from 5..n
            var i: Int = 5;
            while (i < n)
            {
                // Sum the current 5 elements
                result = auxiliary[0] + auxiliary[1] + auxiliary[2] + 
                  auxiliary[3] + auxiliary[4];
                // Change series element
                auxiliary[0] = auxiliary[1];
                auxiliary[1] = auxiliary[2];
                auxiliary[2] = auxiliary[3];
                auxiliary[3] = auxiliary[4];
                auxiliary[4] = result;
                i += 1;
            }
        }
        // Display calculated result
        print("\n " + n + "-th Pentanacci No is : " + result);
    }
}
fun main(args: Array < String > ): Unit
{
    val task: PentanacciNo = PentanacciNo();
    /*
        Pentanacci Series
        -----------------
        0  0  0  0  1  2  4  8  16  31  61  120  236  
        464  912 1793  3525  6930  13624  26784  52656  
        103519  203513  400096  786568  1546352  
        3040048  5976577  11749641 ... 
    */
    // Test Cases
    task.nthPentanacciNo(30);
    task.nthPentanacciNo(8);
    task.nthPentanacciNo(10);
    task.nthPentanacciNo(15);
}

input

 30-th Pentanacci No is : 11749641
 8-th Pentanacci No is : 4
 10-th Pentanacci No is : 16
 15-th Pentanacci No is : 464




Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment