পেন্টাটপ সংখ্যা (Pentatope number) হলো প্যাসক্যালের ত্রিভুজে (Pascal's triangle) পঞ্চম সংখ্যা। যেহেতু এটি পঞ্চম সংখ্যা, তাই প্যাসক্যালের ত্রিভুজে কমপক্ষে পাঁচটি সংখ্যা থাকতে হবে। এই সিরিজের প্রথম সংখ্যা শুরু হয় 1 4 6 4 1 -এর থেকে, যা প্যাসক্যালের ত্রিভুজের চতুর্থ রো। এই টিউটোরিয়ালে আমাদের n-তম পেন্টাটপ সংখ্যা বের করতে হবে। উদাহরণ −
ইনপুট: 1 আউটপুট: 1 ইনপুট: 4 আউটপুট: 35
নিচের ডায়াগ্রাম থেকে আউটপুট যাচাই করা যাবে −

এই সমস্যাটি একটি সিরিজ (series) টাইপ, তাই আমরা সমাধানে এই সিরিজের প্যাটার্ন (pattern) বের করার চেষ্টা করব।
এই প্রোগ্রামে, আমরা এই সিরিজের একটি জেনারেল ফর্মুলা (general formula) বের করব যা প্রতিটি সংখ্যা মেনে চলে। তারপর আমাদের মানগুলো সূত্রে বসিয়ে আউটপুট পাব।
উপরোক্ত পদ্ধতির C++ কোড
#include<bits/stdc++.h> using namespace std; int answer(int n){ // n-তম পেন্টাটপ সংখ্যা বের করার ফাংশন return (n * (n+1) * (n+2) * (n+3))/ 24; // আমাদের বের করা সূত্র } int main(){ int n = 6; // যা বের করতে হবে cout << answer(n) << "\n"; n = 4; cout << answer(n) << "\n"; return 0; }
126 35
উপরোক্ত কোডের ওভারঅল কমপ্লেক্সিটি O(1), অর্থাৎ কনস্ট্যান্ট টাইম কমপ্লেক্সিটি। এটি সেরা টাইম কমপ্লেক্সিটি কারণ এক্সিকিউশন টাইম ইনপুট সাইজের ওপর নির্ভর করে না।
উপরের পদ্ধতিতে, আমরা সিরিজের প্যাটার্ন বের করে একটি জেনারেল ফর্মুলা তৈরি করার চেষ্টা করেছি। আমরা যে সূত্রটি পেয়েছি সেটি হলো (n × (n + 1) × (n + 2) × (n + 3)) / 24, যেখানে n হলো যে টার্মটি বের করতে হবে।
এই টিউটোরিয়ালে আমরা N-তম পেন্টাটপ সংখ্যা বের করার সমস্যা সমাধান করেছি একটি সূত্র তৈরি করে। আমরা এই সমস্যার C++ প্রোগ্রাম ও সম্পূর্ণ পদ্ধতি দেখেছি। একই প্রোগ্রাম C, Java, Python ইত্যাদি ভাষায়ও লিখা যায়। আশা করি আপনি এই টিউটোরিয়ালটি সহায়ক পাবেন।