ในปัญหานี้ เราได้รับหมายเลข N หน้าที่ของเราคือสร้างโปรแกรมเพื่อค้นหาเทอมที่ N ของชุดที่ 1, 3, 12, 60, 360...ใน C++
ซีรีส์ที่กำหนด
1, 3, 12, 60, 360, 2520 … ไม่มีข้อกำหนด
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
ป้อนข้อมูล − N =6
ผลผลิต − 2520
แนวทางการแก้ปัญหา:
สูตรคำทั่วไปสำหรับคำนี้ค่อนข้างยุ่งยาก ดังนั้น การเพิ่มขึ้นของค่าชุดข้อมูลจึงมีมากมาย ดังนั้น แฟกทอเรียลหรือเอ็กซ์โพเนนเชียลก็มีความเป็นไปได้สองสามอย่าง ดังนั้น อันดับแรก เราจะพิจารณาแฟกทอเรียล และเมื่อสังเกต เราจะเห็นว่าการเติบโตครึ่งหนึ่งเป็นค่าแฟกทอเรียลครึ่งหนึ่ง นอกจากนี้ แฟกทอเรียลของ 2 คือเทอมแรกตรงนี้ ดังนั้นสูตรทั่วไปก็จะเป็น
ทN =((N+1)!)/ 2
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
#include <iostream> using namespace std; int calcFact(int n){ if(n == 1){ return 1; } return (n*calcFact(n-1)); } int findNTerm(int N) { int nthTerm = ( (calcFact(N+1)) /2 ); return nthTerm; } int main() { int N = 8; cout<<N<<"th term of the series is "<<findNTerm(N); return 0; }
ผลลัพธ์:
8th term of the series is 181440