Program for sum of arithmetic series
A series with the same common difference is known as arithmetic series. The first term of series is a and the common difference is d. The series looks like a, a + d, a + 2d, a + 3d, . . . Task is to find the sum of the series.
Examples:
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
A simple solution to find the sum of arithmetic series.
C++
// CPP Program to find the sum of arithmetic // series. #include<bits/stdc++.h> 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<n;i++) { sum = sum + a; a = a + d; } return sum; } // Driver function int main() { int n = 20; float a = 2.5, d = 1.5; cout<<sumOfAP(a, d, n); return 0; } |
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
Output:
335
Time Complexity: O(n)
Space complexity: O(1) because using constant space
Approach 2:
An Efficient solution to find the sum of arithmetic series is to use the below formula as follows:
Sum of arithmetic series = ((n / 2) * (2 * a + (n - 1) * d)) Where a - First term d - Common difference n - No of terms
Example:
C++
Java
Python3
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
<?php // Efficient PHP code to find sum // of arithmetic series. // Function to find sum of series. function sumOfAP( $a , $d , $n ) { $sum = ( $n / 2) * (2 * $a + ( $n - 1) * $d ); return $sum ; } // Driver code $n = 20; $a = 2.5; $d = 1.5; echo (sumOfAP( $a , $d , $n )); // This code is contributed by Ajit. ?> |
Javascript
Output
335
Time Complexity: O(1)
Space complexity: O(1) since using only constant variables
How does this formula work?
We can prove the formula using mathematical induction. We can easily see that the formula holds true for n = 1 and n = 2. Let this be true for n = k-1.
Let the formula be true for n = k-1. Sum of first k - 1 elements of arithmetic 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))