We are given the Integer n and also in the next line 2*n integers which represent a Arithmetic Progression series a1, a2, a3…a2n they are in AP. We need to find the sum of a12 – a22 + a32…. + a2n-12 – a2n2 .
Examples :
Input : n = 2
a[] = {1 2 3 4}
Output : -10
Explanation : 12 - 22 +
32 42 = -10.
Input : n = 3
a[] = {2 4 6 8 10 12}
Output : -84
Simple Approach : We one by one find the sum of the square of the series with even terms negative and odd term as positive term .
C++
#include <bits/stdc++.h>
using namespace std;
int seriesSum( int n, int a[])
{
int res = 0;
for ( int i = 0; i < 2 * n; i++)
{
if (i % 2 == 0)
res += a[i] * a[i];
else
res -= a[i] * a[i];
}
return res;
}
int main()
{
int n = 2;
int a[] = { 1, 2, 3, 4 };
cout << seriesSum(n, a);
return 0;
}
|
Java
import java.io.*;
import java.lang.*;
import java.util.*;
class GFG
{
static int seriesSum( int n,
int [] a)
{
int res = 0 , i;
for (i = 0 ; i < 2 * n; i++)
{
if (i % 2 == 0 )
res += a[i] * a[i];
else
res -= a[i] * a[i];
}
return res;
}
public static void main(String args[])
{
int n = 2 ;
int a[] = { 1 , 2 , 3 , 4 };
System.out.println(seriesSum(n, a));
}
}
|
Python3
def seriesSum(n, a):
res = 0
for i in range ( 0 , 2 * n):
if (i % 2 = = 0 ):
res + = a[i] * a[i]
else :
res - = a[i] * a[i]
return res
n = 2
a = [ 1 , 2 , 3 , 4 ]
print (seriesSum(n, a))
|
C#
using System;
class GFG
{
static int seriesSum( int n,
int [] a)
{
int res = 0, i;
for (i = 0; i < 2 * n; i++)
{
if (i % 2 == 0)
res += a[i] * a[i];
else
res -= a[i] * a[i];
}
return res;
}
public static void Main()
{
int n = 2;
int []a = { 1, 2, 3, 4 };
Console.WriteLine(seriesSum(n, a));
}
}
|
PHP
<?php
function seriesSum( $n , $a )
{
$res = 0;
for ( $i = 0; $i < 2 * $n ; $i ++)
{
if ( $i % 2 == 0)
$res += $a [ $i ] * $a [ $i ];
else
$res -= $a [ $i ] * $a [ $i ];
}
return $res ;
}
$n = 2;
$a = array (1, 2, 3, 4);
echo seriesSum( $n , $a );
?>
|
Javascript
<script>
function seriesSum(n, a)
{
let res = 0, i;
for (i = 0; i < 2 * n; i++)
{
if (i % 2 == 0)
res += a[i] * a[i];
else
res -= a[i] * a[i];
}
return res;
}
let n = 2;
let a = [1, 2, 3, 4];
document.write(seriesSum(n, a));
</script>
|
Auxiliary Space: O(1) since using constant space for variables
Efficient Approach:Use of Arithmetic progression Application
We know that common difference d = a2 – a1 = a3 – a2 = a4 – a3
Result = a12 – a22 + a32…. + a2n-12 – a2n2
= (a1 – a2)*(a1 + a2) + (a3 – a4)*(a3 +a4)+….+(a2n-1 – a2n)*(a2n-1 + a2n)
So as common difference is common to the series then :
(a1 – a2)[a1 + a2 + a3…a2n]
now we can write :
(-d)*(Sum of the term of the 2n term of AP)
(-d)*[((2*n)*(a1 + a2n))/2]
now we know that common difference is : d = (a1 - a2)
Then the difference between : g = (a2n - a1)
So we can conclude that g = d*(2*n - 1)
the we can replace d by : g/(2*n - 1)
So our result becomes : (n/(2*n - 1)) * (a12 - a2n2)
C++
#include <bits/stdc++.h>
using namespace std;
int seriesSum( int n, int a[])
{
return n * (a[0] * a[0] - a[2 * n - 1] *
a[2 * n - 1]) / (2 * n - 1);
}
int main()
{
int n = 2;
int a[] = { 1, 2, 3, 4 };
cout << seriesSum(n, a);
return 0;
}
|
Java
import java.io.*;
import java.lang.*;
import java.util.*;
class GFG
{
static int seriesSum( int n,
int [] a)
{
return n * (a[ 0 ] * a[ 0 ] - a[ 2 * n - 1 ] *
a[ 2 * n - 1 ]) / ( 2 * n - 1 );
}
public static void main(String args[])
{
int n = 2 ;
int a[] = { 1 , 2 , 3 , 4 };
System.out.println(seriesSum(n, a));
}
}
|
Python3
def seriesSum(n, a):
return (n * (a[ 0 ] * a[ 0 ] - a[ 2 * n - 1 ] *
a[ 2 * n - 1 ]) / ( 2 * n - 1 ))
n = 2
a = [ 1 , 2 , 3 , 4 ]
print ( int (seriesSum(n, a)))
|
C#
using System;
class GFG
{
static int seriesSum( int n, int [] a)
{
return n * (a[0] * a[0] - a[2 * n - 1] *
a[2 * n - 1]) / (2 * n - 1);
}
public static void Main()
{
int n = 2;
int []a= { 1, 2, 3, 4 };
Console.WriteLine(seriesSum(n, a));
}
}
|
PHP
<?php
function seriesSum( $n , $a )
{
return $n * ( $a [0] * $a [0] -
$a [2 * $n - 1] *
$a [2 * $n - 1]) /
(2 * $n - 1);
}
$n = 2;
$a = array (1, 2, 3, 4);
echo seriesSum( $n , $a );
?>
|
Javascript
<script>
function seriesSum(n, a)
{
return n * (a[0] * a[0] -
a[2 * n - 1] *
a[2 * n - 1]) /
(2 * n - 1);
}
let n = 2;
a = [1, 2, 3, 4];
document.write(seriesSum(n, a));
</script>
|
Time complexity: O(1) since performing constant operations
Auxiliary Space: O(1) since using constant space for variables
Contact Us