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

โปรแกรมหาเทอม N ของชุดที่ 1, 3, 12, 60, 360...ใน C++


ในปัญหานี้ เราได้รับหมายเลข 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