กำหนด 'a' เทอมแรก 'r' คืออัตราส่วนร่วมและ 'n' สำหรับจำนวนเทอมในชุด ภารกิจคือการหาเทอมที่ n ของชุดข้อมูล
ดังนั้น ก่อนที่จะพูดถึงวิธีการเขียนโปรแกรมสำหรับโจทย์ปัญหาก่อนอื่น เราต้องรู้ว่า Geometric Progression คืออะไร
ความก้าวหน้าทางเรขาคณิตหรือลำดับทางเรขาคณิตในวิชาคณิตศาสตร์เป็นที่ที่แต่ละเทอมหลังจากเทอมแรกถูกพบโดยการคูณค่าก่อนหน้าด้วยอัตราส่วนร่วมสำหรับจำนวนพจน์คงที่
เช่น 2, 4, 8, 16, 32.. เป็นความก้าวหน้าทางเรขาคณิตที่มีเทอมแรก 2 และอัตราส่วนร่วม 2 หากเรามี n =4 ผลลัพธ์จะเป็น 16
ดังนั้น เราสามารถพูดได้ว่า Geometric Progression สำหรับเทอมที่ n จะเป็นแบบ −
GP1 = a1 GP2 = a1 * r^(2-1) GP3 = a1 * r^(3-1) . . . GPn = a1 * r^(n-1)
ดังนั้นสูตรจะเป็น GP =a * r^(n-1)
ตัวอย่าง
Input: A=1 R=2 N=5 Output: The 5th term of the series is: 16 Explanation: The terms will be 1, 2, 4, 8, 16 so the output will be 16 Input: A=1 R=2 N=8 Output: The 8th Term of the series is: 128
แนวทางที่เราจะใช้ในการแก้ปัญหาที่กำหนด −
- ใช้เทอมแรก A อัตราส่วนร่วม R และ N เท่ากับจำนวนชุดข้อมูล
- จากนั้นคำนวณเทอมที่ n ด้วย A * (int)(pow(R, N - 1)
- ส่งคืนผลลัพธ์ที่ได้รับจากการคำนวณข้างต้น
อัลกอริทึม
Start Step 1 -> In function int Nth_of_GP(int a, int r, int n) Return( a * (int)(pow(r, n - 1)) Step 2 -> In function int main() Declare and set a = 1 Declare and set r = 2 Declare and set n = 8 Print The output returned from calling the function Nth_of_GP(a, r, n) Stop
ตัวอย่าง
#include <stdio.h> #include <math.h> //function to return the nth term of GP int Nth_of_GP(int a, int r, int n) { // the Nth term will be return( a * (int)(pow(r, n - 1)) ); } //Main Block int main() { // initial number int a = 1; // Common ratio int r = 2; // N th term to be find int n = 8; printf("The %dth term of the series is: %d\n",n, Nth_of_GP(a, r, n) ); return 0; }
ผลลัพธ์
The 8th term of the series is: 128