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

โปรแกรม C สำหรับภาคเรียนที่ N ของอนุกรมความก้าวหน้าทางเรขาคณิต


กำหนด '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