📜  AP的交替正负号平方的序列和

📅  最后修改于: 2021-04-23 15:56:44             🧑  作者: Mango

我们给定了整数n,在接下来的行中还有2 * n个整数,它们表示算术级数序列a 1 ,a 2 ,a 3 …a 2n,它们位于AP中。我们需要找到1 2 – a 2 2 + a 3 2 …的总和。 + a 2n-1 2 – a 2n 2
例子 :

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

简单方法:我们逐一找出偶数项为负,奇数为正项的平方和。

C++
// CPP program to find sum of
// series with alternate signed
// square AP sums.
#include 
using namespace std;
 
// function to calculate series sum
int seiresSum(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;
}
 
// Driver Code
int main()
{
    int n = 2;
    int a[] = { 1, 2, 3, 4 };
    cout << seiresSum(n, a);
    return 0;
}


Java
// Java program to find sum of
// series with alternate signed
// square AP sums.
import java.io.*;
import java.lang.*;
import java.util.*;
 
class GFG
{
 
    // function to calculate
    // series sum
    static int seiresSum(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;
    }
 
    // Driver code
    public static void main(String args[])
    {
        int n = 2;
        int a[] = { 1, 2, 3, 4 };
        System.out.println(seiresSum(n, a));
    }
}


Python3
# Python3 program to find sum
# of series with alternate signed 
# square AP sums.
 
# Function to calculate series sum
def seiresSum(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
 
# Driver code
n = 2
a = [1, 2, 3, 4]
print(seiresSum(n, a))
 
# This code is contributed by Ajit.


C#
// C# program to find sum of
// series with alternate signed 
// square AP sums.
using System;
 
class GFG
{
 
    // function to calculate
    // series sum
    static int seiresSum(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;
    }
 
    // Driver code
    public static void Main()
    {
        int n = 2;
        int []a = { 1, 2, 3, 4 };
        Console.WriteLine(seiresSum(n, a));
    }
}
 
//This code is contributed by vt_m.


PHP


Javascript


C++
// Efficient CPP program to
// find sum of series with
// alternate signed square AP sums.
#include 
using namespace std;
 
// function to calculate
// series sum
int seiresSum(int n, int a[])
{
    return n * (a[0] * a[0] - a[2 * n - 1] *
                a[2 * n - 1]) / (2 * n - 1);
}
 
// Driver code
int main()
{
    int n = 2;
    int a[] = { 1, 2, 3, 4 };
    cout << seiresSum(n, a);
    return 0;
}


Java
// Efficient Java program to 
// find sum of series with
// alternate signed square AP sums.
import java.io.*;
import java.lang.*;
import java.util.*;
 
class GFG
{
    static int seiresSum(int n,
                         int[] a)
    {
    return n * (a[0] * a[0] - a[2 * n - 1] *
                a[2 * n - 1]) / (2 * n - 1);
    }
 
    // Driver Code
    public static void main(String args[])
    {
        int n = 2;
        int a[] = { 1, 2, 3, 4 };
        System.out.println(seiresSum(n, a));
    }
}


Python3
# Efficient Python3 program 
# to find sum of series with 
# alternate signed square AP sums.
 
# Function to calculate
# series sum
def seiresSum(n, a):
 
    return (n * (a[0] * a[0] - a[2 * n - 1] *
                 a[2 * n - 1]) / (2 * n - 1))
 
# Driver code
n = 2
a = [1, 2, 3, 4]
print(int(seiresSum(n, a)))
 
# This code is contributed
# by Smitha Dinesh Semwal.


C#
// Efficient C# program to find sum
// of series with alternate signed
// square AP sums.
using System;
 
class GFG
{
    static int seiresSum(int n, int[] a)
    {
    return n * (a[0] * a[0] - a[2 * n - 1] *
                a[2 * n - 1]) / (2 * n - 1);
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 2;
        int []a= { 1, 2, 3, 4 };
        Console.WriteLine(seiresSum(n, a));
    }
}
 
// This code is contributed by anuj_67..


PHP


Javascript


输出 :
-10

高效方法:使用算术级数应用
我们知道共同差d = a 2 – a 1 = a 3 – a 2 = a 4 – a 3
结果= a 1 2 – a 2 2 + a 3 2 …。 + 2n-1 22n 2
=(a 1 – a 2 )*(a 1 + a 2 )+(a 3 – a 4 )*(a 3 + a 4 )+…。+(a 2n-1 – a 2n )*(a 2n- 1 + a 2n )
因此,由于该系列共有相同之处,因此:
(a 1 – a 2 )[a 1 + a 2 + a 3 …a 2n ]
现在我们可以写:

(-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 ca replace d by : g/(2*n - 1)

So our result becomes : (n/(2*n - 1)) * (a12 - a2n2)

C++

// Efficient CPP program to
// find sum of series with
// alternate signed square AP sums.
#include 
using namespace std;
 
// function to calculate
// series sum
int seiresSum(int n, int a[])
{
    return n * (a[0] * a[0] - a[2 * n - 1] *
                a[2 * n - 1]) / (2 * n - 1);
}
 
// Driver code
int main()
{
    int n = 2;
    int a[] = { 1, 2, 3, 4 };
    cout << seiresSum(n, a);
    return 0;
}

Java

// Efficient Java program to 
// find sum of series with
// alternate signed square AP sums.
import java.io.*;
import java.lang.*;
import java.util.*;
 
class GFG
{
    static int seiresSum(int n,
                         int[] a)
    {
    return n * (a[0] * a[0] - a[2 * n - 1] *
                a[2 * n - 1]) / (2 * n - 1);
    }
 
    // Driver Code
    public static void main(String args[])
    {
        int n = 2;
        int a[] = { 1, 2, 3, 4 };
        System.out.println(seiresSum(n, a));
    }
}

Python3

# Efficient Python3 program 
# to find sum of series with 
# alternate signed square AP sums.
 
# Function to calculate
# series sum
def seiresSum(n, a):
 
    return (n * (a[0] * a[0] - a[2 * n - 1] *
                 a[2 * n - 1]) / (2 * n - 1))
 
# Driver code
n = 2
a = [1, 2, 3, 4]
print(int(seiresSum(n, a)))
 
# This code is contributed
# by Smitha Dinesh Semwal.

C#

// Efficient C# program to find sum
// of series with alternate signed
// square AP sums.
using System;
 
class GFG
{
    static int seiresSum(int n, int[] a)
    {
    return n * (a[0] * a[0] - a[2 * n - 1] *
                a[2 * n - 1]) / (2 * n - 1);
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 2;
        int []a= { 1, 2, 3, 4 };
        Console.WriteLine(seiresSum(n, a));
    }
}
 
// This code is contributed by anuj_67..

的PHP


Java脚本


输出 :
-10