Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาเงื่อนไข Pth ของ GP หากระบุเงื่อนไข Mth และ N ใน C++


ในปัญหานี้เราได้รับห้าค่า m, n, เทอมที่ m, เทอมที่ n, p งานของเราคือค้นหาเงื่อนไข Pth ของ GP หากมีการกำหนดเงื่อนไข Mth และ Nth

สำหรับ GP เราได้รับค่าของเทอมที่ m และเทอมที่ n เราต้องหาพจน์ Pth ของอนุกรมโดยใช้ค่าเหล่านี้

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

อินพุต

m = 7, mthTerm = 1458, n = 10, nthterm = 39366, p = 3

ผลลัพธ์

18

แนวทางการแก้ปัญหา

ที่นี่เราได้รับ GP สมมุติว่า GP เป็น

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

สูตรสำหรับ T th ระยะคือ

Tth Term = a * r(T-1)

ตอนนี้เราได้รับเทอมที่ n และ mth

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

การหารสมการที่เราได้รับ

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

เมื่อใช้สมการนี้ เราสามารถหาค่าของ r จากนั้นหาค่าของเทอม mth ได้ดังนี้

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

หลังจากหาค่าของ a และ r แล้ว ค่าของเทอม pth หาได้ง่ายโดยใช้

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