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.
/* 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 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 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# 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));
}
} // |
<?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. ?> |
<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)
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 :
- It’s true for some n (n = 1, in this case).
- 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:
/* 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 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 |
# 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# 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 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. ?> |
<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)
Auxiliary Space: O(1), since no extra space has been taken.