Given a series:
Sn = 1*3 + 3*5 + 5*7 + …
It is required to find the sum of first n terms of this series represented by Sn, where n is given taken input.
Examples:
Input : n = 2
Output : S<sub>n</sub> = 18
Explanation:
The sum of first 2 terms of Series is
1*3 + 3*5
= 3 + 15
= 18
Input : n = 4
Output : S<sub>n</sub> = 116
Explanation:
The sum of first 4 terms of Series is
1*3 + 3*5 + 5*7 + 7*9
= 3 + 15 + 35 + 63
= 116
Let, the n-th term be denoted by tn.
This problem can easily be solved by observing that the nth term can be founded by following method:
tn = (n-th term of (1, 3, 5, … ) )*(nth term of (3, 5, 7, ….))
Now, n-th term of series 1, 3, 5 is given by 2*n-1
and, the n-th term of series 3, 5, 7 is given by 2*n+1
Putting these two values in tn:
tn = (2*n-1)*(2*n+1) = 4*n*n-1
Now, the sum of first n terms will be given by :
Sn = ∑(4*n*n – 1)
=∑4*{n*n}-∑(1)
Now, it is known that the sum of first n terms of series n*n (1, 4, 9, …) is given by: n*(n+1)*(2*n+1)/6
And sum of n number of 1’s is n itself.
Now, putting values in Sn:
Sn = 4*n*(n+1)*(2*n+1)/6 – n
= n*(4*n*n + 6*n – 1)/3
Now, Sn value can be easily found by putting the desired value of n.
Below is the implementation of the above approach:
C++
#include <bits/stdc++.h>
using namespace std;
int calculateSum( int n)
{
return (n * (4 * n * n + 6 * n - 1) / 3);
}
int main()
{
int n = 4;
cout << "Sum = " << calculateSum(n);
return 0;
}
|
Java
class GFG
{
static int calculateSum( int n)
{
return (n * ( 4 * n * n +
6 * n - 1 ) / 3 );
}
public static void main(String args[])
{
int n = 4 ;
System.out.println( "Sum = " +
calculateSum(n));
}
}
|
Python
def calculateSum(n):
return (n * ( 4 * n * n +
6 * n - 1 ) / 3 );
n = 4
print ( "Sum =" ,calculateSum(n))
|
C#
using System;
class GFG
{
static int calculateSum( int n)
{
return (n * (4 * n * n +
6 * n - 1) / 3);
}
static public void Main ()
{
int n = 4;
Console.WriteLine( "Sum = " +
calculateSum(n));
}
}
|
Javascript
<script>
function calculateSum( n) {
return (n * (4 * n * n + 6 * n - 1) / 3);
}
let n = 4;
document.write( "Sum = " + calculateSum(n));
</script>
|
PHP
<?php
function calculateSum( $n )
{
return ( $n * (4 * $n * $n +
6 * $n - 1) / 3);
}
$n = 4;
echo "Sum = " . calculateSum( $n );
?>
|
Time Complexity: O(1)
Auxiliary Space: O(1), since no extra space has been taken.
METHOD 2:Using list comprehension .
APPROACH:
This program calculates the sum of the series 1*3 + 3*5 + … using a list comprehension to generate the terms of the series and then finding their sum. The input value n determines the number of terms in the series to be generated and added. The sum of the series is then printed as the output.
ALGORITHM:
1.Take input value for n.
2.Generate the series using a list comprehension and store it in the series list.
3.Calculate the sum of the series list using the sum() function and store it in the variable sum.
4.Print the value of sum as the output.
C++
#include <iostream>
#include <vector>
int main() {
int n = 4;
std::vector< int > series;
for ( int i = 0; i < n; i++) {
int term = (2 * i + 1) * (2 * i + 3);
series.push_back(term);
}
int sum = 0;
for ( int i = 0; i < series.size(); i++) {
sum += series[i];
}
std::cout << "Sum of the series: " << sum << std::endl;
return 0;
}
|
Java
import java.util.ArrayList;
import java.util.List;
public class Main {
/**
* This program generates the series of 2 * i + 1 * (2 * i + 3) for i in range(0, n).
*
* @param n The number of terms in the series.
*/
public static void main(String[] args) {
int n = 4 ;
List<Integer> series = new ArrayList<>();
for ( int i = 0 ; i < n; i++) {
int term = ( 2 * i + 1 ) * ( 2 * i + 3 );
series.add(term);
}
int sum = 0 ;
for ( int i = 0 ; i < series.size(); i++) {
sum += series.get(i);
}
System.out.println( "Sum of the series: " + sum);
}
}
|
Python3
n = 4
series = [( 2 * i + 1 ) * ( 2 * i + 3 ) for i in range (n)]
sum = sum (series)
print ( "Sum of the series:" , sum )
|
C#
using System;
using System.Collections.Generic;
class GFG
{
static void Main()
{
int n = 4;
List< int > series = new List< int >();
for ( int i = 0; i < n; i++)
{
int term = (2 * i + 1) * (2 * i + 3);
series.Add(term);
}
int sum = 0;
foreach ( int item in series)
{
sum += item;
}
Console.WriteLine( "Sum of the series: " + sum);
}
}
|
Javascript
let n = 4;
let series = new Array();
for (let i = 0; i < n; i++) {
let term = (2 * i + 1) * (2 * i + 3);
series.push(term);
}
let sum = 0;
for (let i = 0; i < series.length; i++) {
sum += series[i];
}
document.write( "Sum of the series: " + sum);
|
Output
Sum of the series: 116
Time Complexity:
The time complexity of this program is O(n), where n is the input value. This is because the program generates n terms of the series and then calculates their sum using the sum() function, which has a time complexity of O(n).
Space Complexity:
The space complexity of this program is also O(n), where n is the input value. This is because the program generates n terms of the series and stores them in the series list, which has a space complexity of O(n). The variable sum also requires constant space, so it does not affect the space complexity.
Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!
Last Updated :
21 Sep, 2023
Like Article
Save Article