如果在 C++ 中给出第 M 个和第 N 个项,则查找 GP 的第 P 个项

在这个问题中,我们给出了五个值 m、n、mth term、nth term、p。我们的任务是在给定 Mth 和 Nth 项的情况下找到 GP 的 Pth 项。

对于 GP,我们给出了第 m 项和第 n 项的值。使用这些值,我们需要找到系列的第 P 项。

让我们举个例子来理解这个问题,

输入

m = 7, mthTerm = 1458, n = 10, nthterm = 39366, p = 3
输出结果
18

解决方法

在这里,我们获得了 GP。让我们假设GP是,

GP = a , a*r , a*(r2), a*(r3) ….

T的公式术语是

Tth Term = a * r(T-1)

现在,我们得到了第 n 项和第 m 项,

mth term = a * (r ^ (m-1))

nth term = a * (r ^ (n-1))

划分我们得到的方程,

mth term / nth term = (r ^(m - n))

使用这个等式,我们可以找到 r 的值,然后可以使用第 m 项的值找到 a 作为

mth term = a * (r^(m-1))

然后在找到a和r的值之后。可以使用以下方法轻松找到第 p 项的值,

pth term = a * (r^(p-1))

程序来说明我们的解决方案的工作,

示例

#include <cmath>

#include <iostream>

using namespace std;

double findRinGP(double m, double n, double mth, double nth) {

   if (m < n)

      return pow(nth / mth, 1.0 / (n - m));

   return pow(mth / nth, 1.0 / (m - n));

}

double findTermGP(int m, int n, double mth, double nth, int p) {

   double r = findRinGP(m, n, mth, nth);

   double a = mth / pow(r, (m - 1));

   return ( a * pow(r, (p - 1)) );

}

int main() {

   int m = 7, n = 10, p = 5;

   double mth = 1458, nth = 39366;

   cout<<"The "<<p<<"th of the series is "<<findTermGP(m, n, mth, nth, p);

   return 0;

}

输出结果
The 5th of the series is 162

以上是 如果在 C++ 中给出第 M 个和第 N 个项,则查找 GP 的第 P 个项 的全部内容, 来源链接: utcz.com/z/354437.html

回到顶部