Related Articles
Sum of P terms of an AP if Mth and Nth terms are given
• Last Updated : 23 Jan, 2019

Given Mth and Nth term of an arithmetic progression. The task is to find the sum of its first p terms.

Examples:

Input: m = 6, n = 10, mth = 12, nth = 20, p = 5
Output:30

Input:m = 10, n = 20, mth = 70, nth = 140, p = 4
Output:70

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: Let a is the first term and d is the common difference of the given AP. Therefore

```mth term = a + (m-1)d and
nth term = a + (n-1)d```

From these two equations, find the value of a and d. Now use the formula of sum of p terms of an AP.
Sum of p terms =

`( p * ( 2*a + (p-1) * d ) ) / 2;`

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the above approach``#include ``using` `namespace` `std;`` ` `// Function to calculate the value of the``pair<``double``, ``double``> findingValues(``double` `m,``               ``double` `n, ``double` `mth, ``double` `nth)``{``    ``// Calculate value of d using formula``    ``double` `d = (``abs``(mth - nth)) / ``abs``((m - 1) - (n - 1));`` ` `    ``// Calculate value of a using formula``    ``double` `a = mth - ((m - 1) * d);`` ` `    ``// Return pair``    ``return` `make_pair(a, d);``}`` ` `// Function to calculate value sum``// of first p numbers of the series``double` `findSum(``int` `m, ``int` `n, ``int` `mth, ``int` `nth, ``int` `p)``{`` ` `    ``pair<``double``, ``double``> ad;`` ` `    ``// First calculate value of a and d``    ``ad = findingValues(m, n, mth, nth);`` ` `    ``double` `a = ad.first, d = ad.second;`` ` `    ``// Calculate the sum by using formula``    ``double` `sum = (p * (2 * a + (p - 1) * d)) / 2;`` ` `    ``// Return the sum``    ``return` `sum;``}`` ` `// Driven Code``int` `main()``{`` ` `    ``double` `m = 6, n = 10, mTerm = 12, nTerm = 20, p = 5;`` ` `    ``cout << findSum(m, n, mTerm, nTerm, p) << endl;`` ` `    ``return` `0;``}`

## Java

 `// Java implementation of the above approach ``import` `java.util.*;`` ` `class` `GFG``{``     ` `// Function to calculate the value of the ``static` `ArrayList findingValues(``int` `m, ``int` `n, ``                                ``int` `mth, ``int` `nth) ``{ ``     ` `    ``// Calculate value of d using formula ``    ``int` `d = (Math.abs(mth - nth)) / ``        ``Math.abs((m - ``1``) - (n - ``1``)); `` ` `    ``// Calculate value of a using formula ``    ``int` `a = mth - ((m - ``1``) * d);``    ``ArrayList res=``new` `ArrayList();``    ``res.add(a);``    ``res.add(d);`` ` `    ``// Return pair ``    ``return` `res; ``} `` ` `// Function to calculate value sum ``// of first p numbers of the series ``static` `int` `findSum(``int` `m, ``int` `n, ``int` `mth,``                            ``int` `nth, ``int` `p) ``{ ``    ``// First calculate value of a and d ``    ``ArrayList ad = findingValues(m, n, mth, nth); `` ` `    ``int` `a = ad.get(``0``);``    ``int` `d = ad.get(``1``);`` ` `    ``// Calculate the sum by using formula ``    ``int` `sum = (p * (``2` `* a + (p - ``1``) * d)) / ``2``; `` ` `    ``// Return the sum ``    ``return` `sum; ``} `` ` `// Driver Code``public` `static` `void` `main (String[] args) ``{``    ``int` `m = ``6``, n = ``10``, mTerm = ``12``, nTerm = ``20``, p = ``5``; ``    ``System.out.println(findSum(m, n, mTerm, nTerm, p));``}``}`` ` `// This code is contributed by chandan_jnu`

## Python3

 `# Python3 implementation of the above approach``import` `math as mt`` ` `# Function to calculate the value of the``def` `findingValues(m, n, mth, nth):`` ` `    ``# Calculate value of d using formula``    ``d ``=` `((``abs``(mth ``-` `nth)) ``/` `          ``abs``((m ``-` `1``) ``-` `(n ``-` `1``)))`` ` `    ``# Calculate value of a using formula``    ``a ``=` `mth ``-` `((m ``-` `1``) ``*` `d)`` ` `    ``# Return pair``    ``return` `a, d`` ` `# Function to calculate value sum``# of first p numbers of the series``def` `findSum(m, n, mth, nth, p):``     ` `    ``# First calculate value of a and d``    ``a,d ``=` `findingValues(m, n, mth, nth)`` ` `    ``# Calculate the sum by using formula``    ``Sum` `=` `(p ``*` `(``2` `*` `a ``+` `(p ``-` `1``) ``*` `d)) ``/` `2`` ` `    ``# Return the Sum``    ``return` `Sum`` ` `# Driver Code``m ``=` `6``n ``=` `10``mTerm ``=` `12``nTerm ``=` `20``p ``=` `5`` ` `print``(findSum(m, n, mTerm, nTerm, p))`` ` `# This code is contributed by ``# Mohit Kumar 29`

## C#

 `// C# implementation of the above approach ``using` `System;``using` `System.Collections;`` ` `class` `GFG``{``     ` `// Function to calculate the value of the ``static` `ArrayList findingValues(``int` `m, ``int` `n, ``                                ``int` `mth, ``int` `nth) ``{ ``     ` `    ``// Calculate value of d using formula ``    ``int` `d = (Math.Abs(mth - nth)) / ``        ``Math.Abs((m - 1) - (n - 1)); `` ` `    ``// Calculate value of a using formula ``    ``int` `a = mth - ((m - 1) * d);``    ``ArrayList res=``new` `ArrayList();``    ``res.Add(a);``    ``res.Add(d);`` ` `    ``// Return pair ``    ``return` `res; ``} `` ` `// Function to calculate value sum ``// of first p numbers of the series ``static` `int` `findSum(``int` `m, ``int` `n, ``int` `mth,``                            ``int` `nth, ``int` `p) ``{ ``    ``// First calculate value of a and d ``    ``ArrayList ad = findingValues(m, n, mth, nth); `` ` `    ``int` `a = (``int``)ad;``    ``int` `d = (``int``)ad;`` ` `    ``// Calculate the sum by using formula ``    ``int` `sum = (p * (2 * a + (p - 1) * d)) / 2; `` ` `    ``// Return the sum ``    ``return` `sum; ``} `` ` `// Driver Code``public` `static` `void` `Main () ``{``    ``int` `m = 6, n = 10, mTerm = 12, nTerm = 20, p = 5; ``    ``Console.WriteLine(findSum(m, n, mTerm, nTerm, p));``}``}`` ` `// This code is contributed by chandan_jnu`

## PHP

 ``
Output:
```30
```

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up