Sum of series 1^2 + 3^2 + 5^2 + . . . + (2*n - 1)^2

Last Updated : 5 Dec, 2024

Given a series 12 + 32 + 52 + 72 + . . . + (2*n - 1)2, find the sum of the series.

Examples: 

Input: n = 4
Output: 84
Explanation: sum = 12 + 32 + 52 + 72 = 1 + 9 + 25 + 49 = 84

Input: n = 10
Output: 1330
Explanation: sum = 12 + 32 + 52 + 72 + 92 + 112 + 132 + 152 + 172 + 192 = 1 + 9 + 24 + 49 + . . . + 361 = 1330

Naive Approach - O(n) time and O(1) space

C++
#include <bits/stdc++.h>
using namespace std;

int sumOfSeries(int n) {
    int sum = 0;
    for (int i = 1; i <= n; i++)
        sum = sum + (2 * i - 1) * (2 * i - 1);
    return sum;
}

int main() {
    int n = 10;
    cout << sumOfSeries(n);

    return 0;
}
Java
import java.io.*;

class GfG {

    static int sumOfSeries(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++)
            sum = sum + (2 * i - 1) * (2 * i - 1);
        return sum;
    }

    public static void main(String[] args) {
        int n = 10;
        System.out.println(sumOfSeries(n));
    }
}
Python
import math

def sumOfSeries(n):

    sum = 0
    for i in range(1, n + 1):
        sum = sum + (2 * i - 1) * (2 * i - 1)
    return sum


if __name__ == "__main__":
  n = 10
  print(sumOfSeries(n))
C#
using System;

class GfG {

    static int sumOfSeries(int n)  {
        int sum = 0;
        for (int i = 1; i <= n; i++)
            sum = sum + (2 * i - 1) * (2 * i - 1);

        return sum;
    }

    public static void Main() {
        int n = 10;
        Console.Write(sumOfSeries(n));
    }
}
JavaScript
function sumOfSeries(n) {
    let sum = 0;
    for(let i = 1; i <= n; i++)
       sum = sum + (2 * i - 1) * 
                   (2 * i - 1);
       
    return sum;
}

// Driver Code
let n = 10;

console.log(sumOfSeries(n));  

Output
1330

[Expected approach] Using formula - O(1) time and O(1) space

The series is formed by squaring the first n odd numbers:

Sn ​= 12 + 32 + 52 + ⋯ + (2n−1)2
Sn ​= ( n (2n − 1) (2n + 1) )​/3

Example: n = 3
S3 = 3 (2*3 - 1) (2*3 + 1) ) / 3 = (3 * 5 * 7 )/3 = 35

C++
#include <bits/stdc++.h>
using namespace std;

int sumOfSeries(int n) {
    return (n * (2 * n - 1) * (2 * n + 1)) / 3;
}

int main() {
    int n = 10;
    cout << sumOfSeries(n);
    return 0;
}
Java
import java.io.*;
import java.util.*;

class GfG {
    static int sumOfSeries(int n) {
        return (n * (2 * n - 1) * (2 * n + 1)) / 3;
    }

    public static void main(String[] args) {
        int n = 10;
        System.out.println(sumOfSeries(n));
    }
}
Python
import math

def sumOfSeries(n):

    return int((n * (2 * n - 1) * (2 * n + 1)) / 3)

if __name__ == "__main__":
  n = 10
  print(sumOfSeries(n))
C#
using System;

class GfG {

    static int sumOfSeries(int n) {
        return (n * (2 * n - 1) * (2 * n + 1)) / 3;
    }

    public static void Main() {
        int n = 10;
        Console.Write(sumOfSeries(n));
    }
}
JavaScript
function sumOfSeries(n) {
    return (n * (2 * n - 1) * 
                 (2 * n + 1)) / 3;
}

// Driver code
let n = 10;
console.log(sumOfSeries(n));

Output
1330

Time Complexity: O(1)
Auxiliary space: O(1) since using constant variables
 

Comment