Arithmetic Progression - GeeksforGeeks

29 Apr, 2021
A sequence of numbers is called an Arithmetic progression if the difference between any two consecutive terms is always the same. In simple terms, it means that the next number in the series is calculated by adding a fixed number to the previous number in the series. For example, 2, 4, 6, 8, 10 is an AP because difference between any two consecutive terms in the series (common difference) is same (4 – 2 = 6 – 4 = 8 – 6 = 10 – 8 = 2).  
Fact about Arithmetic Progression :  
Initial term: In an arithmetic progression, the first number in the series is called the initial term.Common difference: The value by which consecutive terms increase or decrease is called the common difference.The behavior of the arithmetic progression depends on the common difference d. If the common difference is:positive, then the members (terms) will grow towards positive infinity or negative, then the members (terms) will grow towards negative infinity.
Initial term: In an arithmetic progression, the first number in the series is called the initial term.
Common difference: The value by which consecutive terms increase or decrease is called the common difference.
The behavior of the arithmetic progression depends on the common difference d. If the common difference is:positive, then the members (terms) will grow towards positive infinity or negative, then the members (terms) will grow towards negative infinity.
Formula of nth term of an A.P : If ‘a’ is the initial term and ‘d’ is the common difference.Thus, the explicit formula is  
Formula of sum of nth term of A.P:  
How we check whether a series is arithmetic progression or not? 
Naive solution. The idea is to sort the given array or series. After sorting, check if differences between consecutive elements are same or not. If all differences are same, Arithmetic Progression is possible. Below is the implementation of this approach:  
Naive solution. The idea is to sort the given array or series. After sorting, check if differences between consecutive elements are same or not. If all differences are same, Arithmetic Progression is possible. Below is the implementation of this approach:  
C++
Java
Python3
C#
PHP
Javascript
// C++ program to check if a given array// can form arithmetic progression#include <bits/stdc++.h>using namespace std; // Returns true if a permutation of arr[0..n-1]// can form arithmetic progressionbool checkIsAP(int arr[], int n){    if (n == 1)        return true;     // Sort array    sort(arr, arr + n);     // After sorting, difference between    // consecutive elements must be same.    int d = arr[1] - arr[0];    for (int i = 2; i < n; i++)        if (arr[i] - arr[i - 1] != d)            return false;     return true;} // Driven Programint main(){    int arr[] = { 20, 15, 5, 0, 10 };    int n = sizeof(arr) / sizeof(arr[0]);     (checkIsAP(arr, n)) ? (cout << "Yes" << endl) : (cout << "No" << endl);     return 0;}
// Java program to check if a given array// can form arithmetic progressionimport java.util.Arrays; class GFG {     // Returns true if a permutation of    // arr[0..n-1] can form arithmetic    // progression    static boolean checkIsAP(int arr[], int n)    {        if (n == 1)            return true;         // Sort array        Arrays.sort(arr);         // After sorting, difference between        // consecutive elements must be same.        int d = arr[1] - arr[0];        for (int i = 2; i < n; i++)            if (arr[i] - arr[i - 1] != d)                return false;         return true;    }     // driver code    public static void main(String[] args)    {        int arr[] = { 20, 15, 5, 0, 10 };        int n = arr.length;         if (checkIsAP(arr, n))            System.out.println("Yes");        else            System.out.println("No");    }} // This code is contributed by Anant Agarwal.
# Python3 program to check if a given# array can form arithmetic progression # Returns true if a permutation of arr[0..n-1]# can form arithmetic progressiondef checkIsAP(arr, n):    if (n == 1): return True     # Sort array    arr.sort()     # After sorting, difference between    # consecutive elements must be same.    d = arr[1] - arr[0]    for i in range(2, n):        if (arr[i] - arr[i-1] != d):            return False     return True # Driver codearr = [ 20, 15, 5, 0, 10 ]n = len(arr)print("Yes") if(checkIsAP(arr, n)) else print("No") # This code is contributed by Anant Agarwal.
// C# program to check if a given array// can form arithmetic progressionusing System; class GFG {     // Returns true if a permutation of    // arr[0..n-1] can form arithmetic    // progression    static bool checkIsAP(int[] arr, int n)    {        if (n == 1)            return true;         // Sort array        Array.Sort(arr);         // After sorting, difference between        // consecutive elements must be same.        int d = arr[1] - arr[0];        for (int i = 2; i < n; i++)            if (arr[i] - arr[i - 1] != d)                return false;         return true;    }     // Driver Code    public static void Main()    {        int[] arr = { 20, 15, 5, 0, 10 };        int n = arr.Length;         if (checkIsAP(arr, n))            Console.WriteLine("Yes");        else            Console.WriteLine("No");    }} // This code is contributed by vt_m.
<?php// PHP program to check if// a given array can form// arithmetic progression // Returns true if a permutation// of arr[0..n-1] can form// arithmetic progressionfunction checkIsAP($arr, $n){    if ($n == 1)        return true;         // Sort array    sort($arr);         // After sorting, difference    // between consecutive elements    // must be same.    $d = $arr[1] - $arr[0];    for ($i = 2; $i < $n; $i++)        if ($arr[$i] -            $arr[$i - 1] != $d)        return false;         return true;} // Driver Code$arr = array(20, 15, 5, 0, 10);$n = count($arr); if(checkIsAP($arr, $n))echo "Yes";elseecho "No";                         // This code is contributed// by Sam007?>
<script>// Javascript program to check if a given array// can form arithmetic progression// Returns true if a permutation of arr[0..n-1]// can form arithmetic progressionfunction compare(a, b) {    if (a < b) {        return -1;    } else if (a > b) {        return 1;    } else {        return 0;    }}function checkIsAP( arr, n){    if (n == 1)        return true;     // Sort array    arr.sort(compare);     // After sorting, difference between    // consecutive elements must be same.    let d = arr[1] - arr[0];    for (let i = 2; i < n; i++)        if (arr[i] - arr[i - 1] != d)            return false;     return true;} // Driven Programlet arr = [ 20, 15, 5, 0, 10 ];let n = arr.length;(checkIsAP(arr, n)) ? document.write("Yes <br>") : document.write("No <br>"); </script>
Output:  
Output:  
Yes
Time Complexity: O(n Log n).  Efficient solutions Set 1(Use Hashing)Set 2(Use Counting Sort)
Time Complexity: O(n Log n).  
Efficient solutions Set 1(Use Hashing)Set 2(Use Counting Sort)
Set 1(Use Hashing)
Set 2(Use Counting Sort)
Basic Program related to Arithmetic Progression  
Program for sum of arithmetic series
Program to print Arithmetic Progression series
Longest arithmetic progression with the given common difference
Check whether Arithmetic Progression can be formed from the given array
Find the missing number in Arithmetic Progression
Find N Arithmetic Means between A and B
Sum of the numbers upto N that are divisible by 2 or 5
Find First element in AP which is multiple of given prime
More problems related to Arithmetic Progression  
Sum of first n terms of a given series 3, 6, 11, .....
Ratio of mth and nth terms of an A. P. with given ratio of sums
Probability for three randomly chosen numbers to be in AP
Print all triplets in sorted array that form AP
Program for N-th term of Arithmetic Progression series
Sum of Arithmetic Geometric Sequence
Count of AP (Arithmetic Progression) Subsequences in an array
Recent Articles on Arithmetic Progression! 
rohitsingh07052
arithmetic progression
series
Mathematical
Mathematical
series
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Program to find GCD or HCF of two numbers
Merge two sorted arrays
Modulo Operator (%) in C/C++ with Examples
Prime Numbers
Program to find sum of elements in a given array
Program for factorial of a number
Operators in C / C++
Sieve of Eratosthenes
Euclidean algorithms (Basic and Extended)
Program for Decimal to Binary Conversion