এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যা N দেওয়া আছে। আমাদের কাজ হল সিরিজ 1, 5, 32, 288…-এর Nতম টার্ম বের করার প্রোগ্রাম লিখা।
উদাহরণ
ইনপুট
N = 4
আউটপুট
288
ব্যাখ্যা
৪র্থ টার্ম = 4⁴ + 3³ + 2² + 1¹ = 256 + 27 + 4 + 1 = 288
সমাধানের পদ্ধতি
এই সমস্যা সমাধানের একটি সহজ পদ্ধতি হল সিরিজের Nতম টার্মের সাধারণ সূত্র ব্যবহার করা। সূত্রটি হল:
Nতম টার্ম = N^N + (N-1)^(N-1) + … + 2² + 1¹
প্রোগ্রাম উদাহরণ (সমস্যায় ত্রুটি রয়েছে)
#include <iostream>
using namespace std;
int calcNthTerm(int N) {
if (N <= 1)
return 1;
int factorial = 1;
for (int i = 1; i < N; i++)
factorial *= i;
return factorial;
}
int main() {
int N = 8;
cout << N << "th term of the series is " << calcNthTerm(N);
return 0;
}
আউটপুট
8th term of the series is 5040
দ্রষ্টব্য: প্রদত্ত কোডটি সিরিজ 1, 5, 32, 288…-এর সমাধান করছে না, বরং ফ্যাক্টোরিয়াল বের করছে। সঠিক সমাধান নিচে দেওয়া হলো:
সঠিক প্রোগ্রাম উদাহরণ
#include <iostream>
#include <cmath>
using namespace std;
int calcNthTerm(int N) {
long long sum = 0;
for (int i = 1; i <= N; i++) {
sum += pow(i, i);
}
return sum;
}
int main() {
int N = 4;
cout << N << "th term of the series is " << calcNthTerm(N);
return 0;
}
আউটপুট
4th term of the series is 288