给定算术级数的Mth和Nth项。任务是找到其前p个项的和。
例子:
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
方法:设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