Tutorialspoint.dev

Program to print tetrahedral numbers upto Nth term

Prerequisites:

Given a value n, and the task is to print tetrahedral number series up to nth term.

Examples:

Input: 5
Output: 1  4  10  20  35

Input: 10
Output: 1  4  10  20  35  56  84  120  165  220 


Method 1: Using Triangular Number series:
This problem can be easily solved with the fact that Nth Tetrahedral Number is equal to the sum of first N Triangular Numbers.

Let’s have a look on Series of triangular and tetrahedral Numbers.

To print series upto 5th term:
Triangular Numbers  =  1        3          6             10                  15
Tetrahedral numbers =  1        4          10            20                  35 
                 i.e  (1)    (1 + 3)  (1 + 3 + 6)  (1 + 3 + 6 + 10)  (1 + 3 + 6 + 10 + 35)   

Calculate Nth Triangular number using formula frac{N 	imes (N + 1)}{2}

So, print the tetrahedral numbers series by generating triangular numbers and adding it with the sum of all previously generated triangular numbers.

Below is the implementation of the above approach:

C++

// C++ program to generate tetrahedral
// number series
#include <bits/stdc++.h>
using namespace std;
  
// function to generate nth triangular
// number
long findTriangularNumber(int n)
{
    return (n * (n + 1)) / 2;
}
  
// function to print tetrahedral number 
// series up to n
void printSeries(int n)
{
    // Initialize prev as 0. It stores 
    // the sum of all previously generated
    // triangular number
    int prev = 0;
    int curr;
  
    // Loop to print series
    for (int i = 1; i <= n; i++) 
    {
        // Find ith triangular number
        curr = findTriangularNumber(i);
  
        // Add ith triangular number to
        // sum of all previously generated
        // triangular number to get ith 
        // tetrahedral number
        curr = curr + prev;
        cout << curr << " ";
  
        // Update sum of all previously 
        // generated triangular number
        prev = curr;
    }
}
  
// Driver code
int main()
{
    int n = 10;
      
    // function call to print series
    printSeries(n);
      
    return 0;
}

Java

// Java program to generate tetrahedral
// number series
import java.io.*;
  
class GFG {
      
    // function to generate nth triangular
    // number
    static long findTriangularNumber(int n)
    {
        return (n * (n + 1)) / 2;
    }
      
    // function to print tetrahedral number 
    // series up to n
    static void printSeries(int n)
    {
        // Initialize prev as 0. It store 
        // the sum of all previously generated
        // triangular number
        long prev = 0;
        long curr;
      
        // Loop to print series
        for (int i = 1; i <= n; i++) 
        {
            // Find ithh triangular number
            curr = findTriangularNumber(i);
      
            // Add ith triangular number to
            // sum of all previously generated
            // triangular number to get ith 
            // tetrahedral number
            curr = curr + prev;
            System.out.print(curr + " ");
      
            // Update sum of all previously 
            // generated triangular number
            prev = curr;
        }
    }
  
    // Driver code
    public static void main (String[] args) 
    {
        int n = 10;
      
        // function call to print series
        printSeries(n);
    }
}

Python3

# Python3 program to generate 
# tetrahedral number series
  
# function to generate nth 
# triangular number
def findTriangularNumber(n):
    return (n * (n + 1)) / 2
  
# function to print tetrahedral 
# number series up to n
def printSeries(n):
  
    # Initialize prev as 0. 
    # It stores the sum of all 
    # previously generated 
    # triangular number
    prev = 0
  
    # Loop to print series
    for i in range(1, n+1): 
      
        # Find ith triangular number
        curr = findTriangularNumber(i)
  
        # Add ith triangular number 
        # to sum of all previously 
        # generated triangular number 
        # to get ith tetrahedral number
        curr = int(curr + prev)
        print(curr, end = ' ')
  
        # Update sum of all previously 
        # generated triangular number
        prev = curr
  
# Driver code
n = 10
      
# function call to
# print series
printSeries(n)
  
# This code is contributed by Mahadev.

C#

// C# program to generate tetrahedral
// number series
using System;
  
public class GFG{
      
    // function to generate nth triangular
    // number
    static long findTriangularNumber(int n)
    {
        return (n * (n + 1)) / 2;
    }
      
    // function to print tetrahedral number 
    // series up to n
    static void printSeries(int n)
    {
        // Initialize prev as 0. It store 
        // the sum of all previously generated
        // triangular number
        long prev = 0;
        long curr;
      
        // Loop to print series
        for (int i = 1; i <= n; i++) 
        {
            // Find ithh triangular number
            curr = findTriangularNumber(i);
      
            // Add ith triangular number to
            // sum of all previously generated
            // triangular number to get ith 
            // tetrahedral number
            curr = curr + prev;
            Console.Write(curr + " ");
      
            // Update sum of all previously 
            // generated triangular number
            prev = curr;
        }
    }
  
    // Driver code
    static public void Main ()
    {
        int n = 10;
      
        // function call to print series
        printSeries(n);
    }
}

PHP

<?php
// PHP program to generate tetrahedral
// number series
  
// function to generate nth triangular
// number
function findTriangularNumber($n)
{
    return ($n * ($n + 1)) / 2;
}
  
// function to print tetrahedral number 
// series up to n
function printSeries($n)
{
    // Initialize prev as 0. It store 
    // the sum of all previously generated
    // triangular number
    $prev = 0;
    $curr;
  
    // Loop to print series
    for ($i = 1; $i <= $n; $i++) 
    {
        // Find ithh triangular number
        $curr = findTriangularNumber($i);
  
        // Add ith triangular number to
        // sum of all previously generated
        // triangular number to get ith 
        // tetrahedral number
        $curr = $curr + $prev;
        echo($curr . " ");
  
        // Update sum of all previously 
        // generated triangular number
        $prev = $curr;
    }
}
  
// Driver code
$n = 10;
      
// function call to print series
printSeries($n);
?>

Output:

1 4 10 20 35 56 84 120 165 220

Time Complexity: O(n)

Method 2: Using Tetrahedral Number Formula:

Formula to find nth tetrahedral number:frac{N	imes (N+1)	imes (N+2)}{6}

Below is the required implementation:

C++

// C++ program to generate series of 
// tetrahedral numbers
#include <bits/stdc++.h>
using namespace std;
  
// function to print tetrahedral 
// number series up to n
void printSeries(int n)
{
  
    // loop to print series
    for (int i = 1; i <= n; i++)
    {
        // Calculate and print ith 
        // tetrahedral number
                int num = i * (i + 1) * (i + 2) / 6;
        cout << num << " ";
    }
}
  
// Driver code
int main()
{
    int n = 10;
      
    // function call to print series
    printSeries(n);
      
    return 0;
}

Java

// Java program to generate series of 
// tetrahedral numbers
import java.io.*;
  
class GFG {
      
    // function to print tetrahedral 
    // number series up to n
    static void printSeries(int n)
    {
      
        // loop to print series
        for (int i = 1; i <= n; i++)
        {
            // Calculate and print ith 
            // tetrahedral number
            int num = i * (i + 1) * (i + 2) / 6;
              
            System.out.print(num + " ");
        }
    }
      
    // Driver code
    public static void main (String[] args) 
    {
        int n = 10;
      
        // function call to print series
        printSeries(n);
    }
}

Python3

# Python3 code to print tetrahedral
# numbers series up to n
   
# function to print tetrahedral series up to n
def printSeries(n):
   
    # loop to print series 
    for i in range(1, n + 1):
          
        # Calculate and print ith 
        # Tetrahedral number
        num = i * (i + 1) * (i + 2) // 6
          
        print(num, end =' ')
                    
# Driver code
n = 10
  
# function call to print series
printSeries(n)

C#

// C# program to generate series of 
// tetrahedral numbers
using System;
  
public class GFG{
      
    // function to print tetrahedral 
    // number series up to n
    static void printSeries(int n)
    {
      
        // loop to print series
        for (int i = 1; i <= n; i++)
        {
            // Calculate and print ith 
            // tetrahedral number
            int num = i * (i + 1) * (i + 2) / 6;
              
            Console.Write(num + " ");
        }
    }
      
    // Driver code
    static public void Main ()
    {
        int n = 10;
      
        // function call to print series
        printSeries(n);
    }
}

PHP

<?php
// PHP program to generate series of 
// tetrahedral numbers
  
// function to print tetrahedral 
// number series up to n
function printSeries($n)
{
  
    // loop to print series
    for ($i = 1; $i <= $n; $i++)
    {
        // Calculate and print ith 
        // tetrahedral number
        $num = $i * ($i + 1) * ($i + 2) / 6;
        echo ($num . " ");
    }
}
  
// Driver code
$n = 10;
      
// function call to print series
printSeries($n);
  
?>

Output:

1 4 10 20 35 56 84 120 165 220


This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter