VOOZH about

URL: https://www.geeksforgeeks.org/dsa/sum-series-1-3-6-10-triangular-numbers/

⇱ Sum of the series 1, 3, 6, 10... (Triangular Numbers) - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Sum of the series 1, 3, 6, 10... (Triangular Numbers)

Last Updated : 16 Aug, 2022

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. 
 

Output: 
 

20


Time complexity : O(n)

Auxiliary Space: O(1) since using constant variables


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: 
 

Output: 
 

20


Time complexity : O(1)
Auxiliary Space: O(1), since no extra space has been taken.

Comment