Skip to content
Related Articles

Related Articles

Sum of the series 1, 3, 6, 10… (Triangular Numbers)
  • Last Updated : 22 Mar, 2021

Given n, no of elements in the series, find the summation of the series 1, 3, 6, 10….n. The series mainly represents triangular numbers.
Examples: 
 

Input: 2
Output: 4
Explanation: 1 + 3 = 4

Input: 4
Output: 20
Explanation: 1 + 3 + 6 + 10 = 20

 

A simple solution is to one by one add triangular numbers. 
 

C++




/* CPP program to find sum
 series 1, 3, 6, 10, 15, 21...
and then find its sum*/
#include <iostream>
using namespace std;
 
// Function to find the sum of series
int seriesSum(int n)
{
    int sum = 0;
    for (int i=1; i<=n; i++)
       sum += i*(i+1)/2;
    return sum;
}
 
// Driver code
int main()
{
    int n = 4;
    cout << seriesSum(n);
    return 0;
}

Java




// Java program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum*/
import java.io.*;
 
class GFG {
         
    // Function to find the sum of series
    static int seriesSum(int n)
    {
        int sum = 0;
        for (int i = 1; i <= n; i++)
        sum += i * (i + 1) / 2;
        return sum;
    }
 
    // Driver code
    public static void main (String[] args)
    {
        int n = 4;
        System.out.println(seriesSum(n));
         
    }
}
 
// This article is contributed by vt_m

Python3




# Python3 program to find sum
# series 1, 3, 6, 10, 15, 21...
# and then find its sum.
 
# Function to find the sum of series
def seriessum(n):
     
    sum = 0
    for i in range(1, n + 1):
        sum += i * (i + 1) / 2
    return sum
     
# Driver code
n = 4
print(seriessum(n))
 
# This code is Contributed by Azkia Anam.

C#




// C# program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum*/
using System;
 
class GFG {
 
    // Function to find the sum of series
    static int seriesSum(int n)
    {
        int sum = 0;
         
        for (int i = 1; i <= n; i++)
            sum += i * (i + 1) / 2;
             
        return sum;
    }
 
    // Driver code
    public static void Main()
    {
        int n = 4;
         
        Console.WriteLine(seriesSum(n));
    }
}
 
// This article is contributed by vt_m.

PHP




<?php
// PHP program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum
 
// Function to find
// the sum of series
function seriesSum($n)
{
    $sum = 0;
    for ($i = 1; $i <= $n; $i++)
        $sum += $i * ($i + 1) / 2;
    return $sum;
}
 
// Driver code
$n = 4;
echo(seriesSum($n));
 
// This code is contributed by Ajit.
?>

Javascript




<script>
// javascript program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum
 
// Function to find the sum of series
function seriesSum(n)
{
    let sum = 0;
    for (let i = 1; i <= n; i++)
       sum += i * ((i + 1) / 2);
    return sum;
}
 
// Driver code
let n = 4;
  document.write(seriesSum(n)) ;
 
// This code is contributed by aashish1995
 
</script>

Output: 
 

20

Time complexity : O(n)
An efficient solution is to use direct formula n(n+1)(n+2)/6
 



Let g(i) be i-th triangular number.
g(1) = 1
g(2) = 3
g(3) = 6
g(n) = n(n+1)/2

 

Let f(n) be the sum of the triangular
numbers 1 through n.
f(n) = g(1) + g(2) + ... + g(n)

Then:
f(n) = n(n+1)(n+2)/6

How can we prove this? We can prove it by induction. That is, prove two things : 
 

  1. It’s true for some n (n = 1, in this case).
  2. If it’s true for n, then it’s true for n+1.

This allows us to conclude that it’s true for all n >= 1.
 

Now 1) is easy. We know that f(1) = g(1) 
= 1. So it's true for n = 1.

Now for 2). Suppose it's true for n. 
Consider f(n+1). We have:
f(n+1) = g(1) + g(2) + ... + g(n) + g(n+1) 
       = f(n) + g(n+1)

Using our assumption f(n) = n(n+1)(n+2)/6 
and g(n+1) = (n+1)(n+2)/2, we have:
f(n+1) = n(n+1)(n+2)/6 + (n+1)(n+2)/2
       = n(n+1)(n+2)/6 + 3(n+1)(n+2)/6
       = (n+1)(n+2)(n+3)/6
Therefore, f(n) = n(n+1)(n+2)/6

Below is the implementation of the above approach: 
 

C++




/* CPP program to find sum
 series 1, 3, 6, 10, 15, 21...
and then find its sum*/
#include <iostream>
using namespace std;
 
// Function to find the sum of series
int seriesSum(int n)
{
    return (n * (n + 1) * (n + 2)) / 6;
}
 
// Driver code
int main()
{
    int n = 4;
    cout << seriesSum(n);
    return 0;
}

Java




// java program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum
import java.io.*;
 
class GFG
{
    // Function to find the sum of series
    static int seriesSum(int n)
    {
        return (n * (n + 1) * (n + 2)) / 6;
    }
 
   // Driver code
    public static void main (String[] args) {
         
        int n = 4;
        System.out.println( seriesSum(n));
         
    }
}
 
// This article is contributed by vt_m

Python3




# Python 3 program to find sum
# series 1, 3, 6, 10, 15, 21...
# and then find its sum*/
 
# Function to find the sum of series
def seriesSum(n):
 
    return int((n * (n + 1) * (n + 2)) / 6)
 
 
# Driver code
n = 4
print(seriesSum(n))
 
# This code is contributed by Smitha.

C#




// C# program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum
using System;
 
class GFG {
     
    // Function to find the sum of series
    static int seriesSum(int n)
    {
        return (n * (n + 1) * (n + 2)) / 6;
    }
 
    // Driver code
    public static void Main()
    {
 
        int n = 4;
         
        Console.WriteLine(seriesSum(n));
    }
}
 
// This code is contributed by vt_m.

PHP




<?php
// PHP program to find sum
// series 1, 3, 6, 10, 15, 21...
// and then find its sum
 
// Function to find
// the sum of series
function seriesSum($n)
{
    return ($n * ($n + 1) *
           ($n + 2)) / 6;
}
 
// Driver code
$n = 4;
echo(seriesSum($n));
 
// This code is contributed by Ajit.
?>

Javascript




<script>
/* javascript program to find sum
 series 1, 3, 6, 10, 15, 21...
and then find its sum*/
 
 
// Function to find the sum of series
function seriesSum( n)
{
    return (n * (n + 1) * (n + 2)) / 6;
}
 
// Driver code
    let n = 4;
    document.write(seriesSum(n));
 
// This code is contributed by todaysgaurav
 
</script>

Output: 
 

20

Time complexity : O(1)
 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :