📜  算术级数和的程序

📅  最后修改于: 2021-04-29 12:34:45             🧑  作者: Mango

具有相同共同差异的级数称为算术级数。级数的第一项是a ,共同的差是d 。该系列看起来像a,a + d,a + 2d,a + 3d 、。 。 。任务是找到序列的总和。
例子:

Input : a = 1
        d = 2
        n = 4
Output : 16
1 + 3 + 5 + 7 = 16

Input : a = 2.5
        d = 1.5
        n = 20
Output : 335

查找算术级数和的简单解决方案

C++
// CPP Program to find the sum of arithmetic
// series.
#include
using namespace std;
 
// Function to find sum of series.
float sumOfAP(float a, float d, int n)
{
    float sum = 0;
    for (int i=0;i


Java
// JAVA Program to find the sum of
// arithmetic series.
 
class GFG{
     
    // Function to find sum of series.
    static float sumOfAP(float a, float d,
                                  int n)
    {
        float sum = 0;
        for (int i = 0; i < n; i++)
        {
            sum = sum + a;
            a = a + d;
        }
        return sum;
    }
     
    // Driver function
    public static void main(String args[])
    {
        int n = 20;
        float a = 2.5f, d = 1.5f;
        System.out.println(sumOfAP(a, d, n));
    }
}
 
/*This code is contributed by Nikita Tiwari.*/


Python
# Python Program to find the sum of
# arithmetic series.
 
# Function to find sum of series.
def sumOfAP( a, d,n) :
    sum = 0
    i = 0
    while i < n :
        sum = sum + a
        a = a + d
        i = i + 1
    return sum
     
# Driver function
n = 20
a = 2.5
d = 1.5
print (sumOfAP(a, d, n))
 
# This code is contributed by Nikita Tiwari.


C#
// C# Program to find the sum of
// arithmetic series.
using System;
 
class GFG {
     
    // Function to find sum of series.
    static float sumOfAP(float a, float d,
                                    int n)
    {
        float sum = 0;
        for (int i = 0; i < n; i++)
        {
            sum = sum + a;
            a = a + d;
        }
         
        return sum;
    }
     
    // Driver function
    public static void Main()
    {
        int n = 20;
        float a = 2.5f, d = 1.5f;
         
        Console.Write(sumOfAP(a, d, n));
    }
}
 
// This code is contributed by parashar.


PHP


Javascript


C++
// Efficient solution to find sum of arithmetic series.
#include
using namespace std;
 
float sumOfAP(float a, float d, float n)
{
    float sum = (n / 2) * (2 * a + (n - 1) * d);
    return sum;
}
 
// Driver code
int main()
{
    float n = 20;
    float a = 2.5, d = 1.5;
    cout<


Java
// Java Efficient solution to find
// sum of arithmetic series.
class GFG
{
    static float sumOfAP(float a, float d, float n)
    {
        float sum = (n / 2) * (2 * a + (n - 1) * d);
        return sum;
    }
 
    // Driver code
    public static void main (String[] args)
    {
        float n = 20;
        float a = 2.5f, d = 1.5f;
        System.out.print(sumOfAP(a, d, n));
    }
}
 
// This code is contributed by Anant Agarwal.


Python3
# Python3 Efficient
# solution to find sum
# of arithmetic series.
 
def  sumOfAP(a,  d,  n):
    sum = (n / 2) * (2 * a + (n - 1) * d)
    return sum
     
# Driver code   
n = 20
a = 2.5
d = 1.5
 
print(sumOfAP(a, d, n))
 
# This code is
# contributed by sunnysingh


C#
// C# efficient solution to find
// sum of arithmetic series.
using System;
 
class GFG {
     
    static float sumOfAP(float a,
                         float d,
                         float n)
    {
        float sum = (n / 2) *
                    (2 * a +
                    (n - 1) * d);
        return sum;
    }
     
    // Driver code
    static public void Main ()
    {
        float n = 20;
        float a = 2.5f, d = 1.5f;
        Console.WriteLine(sumOfAP(a, d, n));
    }
}
 
// This code is contributed by Ajit.


PHP


Javascript
// Efficient solution to find sum of arithmetic series.
 
function sumOfAP(a, d, n) {
    let sum = (n / 2) * (2 * a + (n - 1) * d);
    return sum;
}
 
// Driver code
let n = 20;
let a = 2.5, d = 1.5;
document.write(sumOfAP(a, d, n));
 
// This code is contributed by Ashok


输出:

335

时间复杂度:O(n)
查找算术级数和的有效解决方案是使用以下公式。

Sum of arithmetic series 
           = ((n / 2) * (2 * a + (n - 1) * d))
           Where
               a - First term
               d - Common difference
               n - No of terms

C++

// Efficient solution to find sum of arithmetic series.
#include
using namespace std;
 
float sumOfAP(float a, float d, float n)
{
    float sum = (n / 2) * (2 * a + (n - 1) * d);
    return sum;
}
 
// Driver code
int main()
{
    float n = 20;
    float a = 2.5, d = 1.5;
    cout<

Java

// Java Efficient solution to find
// sum of arithmetic series.
class GFG
{
    static float sumOfAP(float a, float d, float n)
    {
        float sum = (n / 2) * (2 * a + (n - 1) * d);
        return sum;
    }
 
    // Driver code
    public static void main (String[] args)
    {
        float n = 20;
        float a = 2.5f, d = 1.5f;
        System.out.print(sumOfAP(a, d, n));
    }
}
 
// This code is contributed by Anant Agarwal.

Python3

# Python3 Efficient
# solution to find sum
# of arithmetic series.
 
def  sumOfAP(a,  d,  n):
    sum = (n / 2) * (2 * a + (n - 1) * d)
    return sum
     
# Driver code   
n = 20
a = 2.5
d = 1.5
 
print(sumOfAP(a, d, n))
 
# This code is
# contributed by sunnysingh
  

C#

// C# efficient solution to find
// sum of arithmetic series.
using System;
 
class GFG {
     
    static float sumOfAP(float a,
                         float d,
                         float n)
    {
        float sum = (n / 2) *
                    (2 * a +
                    (n - 1) * d);
        return sum;
    }
     
    // Driver code
    static public void Main ()
    {
        float n = 20;
        float a = 2.5f, d = 1.5f;
        Console.WriteLine(sumOfAP(a, d, n));
    }
}
 
// This code is contributed by Ajit.

的PHP


Java脚本

// Efficient solution to find sum of arithmetic series.
 
function sumOfAP(a, d, n) {
    let sum = (n / 2) * (2 * a + (n - 1) * d);
    return sum;
}
 
// Driver code
let n = 20;
let a = 2.5, d = 1.5;
document.write(sumOfAP(a, d, n));
 
// This code is contributed by Ashok
输出
335

时间复杂度:O(1)
这个公式如何运作?
我们可以使用数学归纳法证明该公式。我们可以很容易地看到,该公式对于n = 1和n = 2成立。对于n = k-1,使它成立。

Let the formula be true for n = k-1.
Sum of first k - 1 elements of geometric series is
        = (((k-1))/ 2) * (2 * a + (k - 2) * d))
We know k-th term of arithmetic series is
        = a + (k - 1)*d

Sum of first k elements = 
      = Sum of (k-1) numbers + k-th element
      = (((k-1)/2)*(2*a + (k-2)*d)) + (a + (k-1)*d)
      = [((k-1)(2a + (k-2)d) + (2a + 2kd - 2d)]/2
      = ((k / 2) * (2 * a + (k - 1) * d))