Problem Statement
In this programming tutorial, we will learn how to implement
a program
to find the sum of the following series.
1^2 + 3^2 + 5^2 + . . . + (2*n – 1)^2
The series is a sum of odd square values. And the
n
represents the number of odd numbers that should be present in the series.
Example 1
Input
n=4
Output
84
Explanation
if n = 4
So the last digit will be (2*n-1) = (2*4-1) = 7
The series would become 1 ^{2} + 3^{2} + 5^{2} + 7^{2}
Example 2 Input
n=9
Output
969
Explanation
if n = 49 So the last digit will be (2*9-1) = (2*9-1) = 17 1 9 25 49 81 121 169 225 289 = 969
Approach 1 (Brute Force)
In our first approach, we will use the brute force approach, in which we will use a for loop to compute the sum of the series. The algorithm for this solution is pretty straightforward we will create a loop from range 1 to (2*n-1), increase the loop counter with 2 and add the square of every element to the total sum.
C Program to Find the Sum of Series 1^2+3^2+5^2+…..+(2n-1)^2
#include <iostream>
#include <math.h>
int main()
{
int sum=0,n,i;
printf("Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2 \n");
//input the value of n
printf("Enter the value of n: ");
scanf("%d", &n);
for(i=1; i<=(2*n)-1; i+=2)
{
sum += pow(i,2);
}
printf("The sum of the series is: %d",sum);
return 0;
}
Output
Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2
Enter the value of n: 10
The sum of the series is: 1330
C++ Program to Find the Sum of Series 1^2+3^2+5^2+…..+(2n-1)^2
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int sum=0,n;
cout<<"Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2 \n";
//input the value of n
cout<<"Enter the value of n: "; cin>>n;
for(int i=1; i<=(2*n)-1; i+=2)
{
sum += pow(i,2);
}
cout<<"The sum of the series is: "<<sum;
return 0;
}
Output:
Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2
Enter the value of n: 10
The sum of the series is: 1330
Python Program to Find the Sum of Series 1^2+3^2+5^2+…..+(2n-1)^2
import math
sum=0
print("Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2")
# input the value of n
n = int(input("Enter the value of n: "))
for i in range(1,((2*n)-1)+1,2):
sum+=math.pow(i,2)
print("The sum of the series is:", int(sum))
Output:
Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2
Enter the value of n: 3
The sum of the series is: 35
Complexity Analysis
- Time Complexity: O(N), where N represent the total number of numbers present in the series.
- Space complexity: O(1), the space complexity of the above program is constant.
Approach 2 (using a mathematical formula)
In the first approach, we are using a for loop which makes the time complexity of the program O(N). But using the mathematical formula
(n * (2 * n - 1) * (2 * n + 1)) / 3
we can make our program more efficient with the time complexity of O(1).
Example Input
n= 4
Output
84
Formula
1^2+3^2+5^2+…..+(2n-1)^2 = (n * (2 * n - 1) * (2 * n + 1)) / 3
Explanation
=(4* (2*4-1)*(2*4+1))/3 =(4*(7 )*(9))/3 =(252)/3 =84
C Program to Find the Sum of Series 1^2+3^2+5^2+…..+(2n-1)^2
#include <stdio.h>
#include <math.h>
int main()
{
int sum=0,n,i;
printf("Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2 \n");
//input the value of n
printf("Enter the value of n: ");
scanf("%d", &n);
// compute the sum
sum = (n * (2 * n - 1) * (2 * n + 1)) / 3;
printf("The sum of the series is: %d",sum);
return 0;
}
Output
Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2
Enter the value of n: 5
The sum of the series is: 165
C++ Program to Find the Sum of Series 1^2+3^2+5^2+…..+(2n-1)^2
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int sum=0,n;
cout<<"Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2 \n";
//input the value of n
cout<<"Enter the value of n: "; cin>>n;
// compute the sum
sum = (n * (2 * n - 1) * (2 * n + 1)) / 3;
cout<<"The sum of the series is: "<<sum;
return 0;
}
Python Program to Find the Sum of Series 1^2+3^2+5^2+…..+(2n-1)^2
import math
sum=0
print("Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2")
# input the value of n
n = int(input("Enter the value of n: "))
# compute the sum of the series
sum =(n * (2 * n - 1) * (2 * n + 1)) // 3
print("The sum of the series is:", int(sum))
Output
Here we will calculate the sum of series 1^2+ 3^2 + 5^2+ ...+ ((2*n)-1)^2
Enter the value of n: 4
The sum of the series is: 84
Complexity Analysis
- Time Complexity: O(1), constant time complexity.
- Space complexity: O(1).
Wrapping Up
In this programming tutorial, we learned how to write code in C, C++, and Python to find the sum of series 1^2+3^2+5^2+…..+2n-1^2. In this tutorial, we have used two approaches to solve the above problem. In the first approach, we used brute force where we used a loop to calculate the sum of the series. Which makes the time complexity of the above program O(N). In the second approach, we optimize the code and solve the sum problem with the formula
(n * (2 * n - 1) * (2 * n + 1))/3
. The second approach solves the problem in constant time complexity.
People are also reading:
- WAP in C++ and python to find the root of quadratic equation
- C++ and Python Code to Find The Sum of Elements Above and Below The Main Diagonal of a Matrix
- WAP in using the switch case to print the Equivalent name of the day on the basis of user input
- WAP in C++ and Python to find the sum of the series x+ x2/2 +x3/3 + ……. +xn/n
- Rectangle & Pyramids Pattern in C++
- Write a C++ Calculator to perform Arithmetic Operations using Switch Case
- C Program to Extract a Portion of String
- WAP in C++ & Python to Insert an Element in an Array
- WAP to raise any number x to a Positive Power n
- Python RegEx
Leave a Comment on this Post