📌  相关文章
📜  如果给出第M和第N个项,则AP的P个项之和

📅  最后修改于: 2021-05-06 18:02:22             🧑  作者: Mango

给定算术级数的Mth和Nth项。任务是找到其前p个项的和。

例子:

方法:设a为第一项,d为给定AP的共同差异。所以

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

从这两个方程式中,找到a和d的值。现在,使用AP的p个项之和的公式。
p个项的总和=

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

下面是上述方法的实现:

C++
// C++ implementation of the above approach
#include 
using namespace std;
  
// Function to calculate the value of the
pair 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 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[0];
    int d = (int)ad[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 () 
{
    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


输出:
30