একটি সংখ্যা N দেওয়া আছে, কাজটি হল যাচাই করা যে সংখ্যাটি পেন্টাগোনাল নম্বর কিনা। যেসব সংখ্যা দিয়ে পেন্টাগন তৈরি করা যায় সেগুলোকে পেন্টাগোনাল নম্বর বলা হয় কারণ এই সংখ্যা গুলো পয়েন্ট হিসেবে ব্যবহার করা যায় পেন্টাগন তৈরি করতে। উদাহরণস্বরূপ, কিছু পেন্টাগোনাল নম্বর হল 1, 5, 12, 22, 35, 51....
আমরা ফর্মুলা ব্যবহার করে যাচাই করতে পারি যে সংখ্যাটি পেন্টাগোনাল নম্বর কিনা:
$$p(n)=\frac{3n^2-n}{2}$$
যেখানে, n হল পেন্টাগনের পয়েন্ট সংখ্যা।
উদাহরণ
ইনপুট-: n=22 আউটপুট-: 22 is pentagonal number ইনপুট-: n=23 আউটপুট-: 23 is not a pentagonal number
অ্যালগরিদম
শুরু
স্টেপ ১ -> N পেন্টাগোনাল কিনা তা চেক করার ফাংশন ডিক্লেয়ার করো
bool check(int n)
ভেরিয়েবল ডিক্লেয়ার করো int i = 1, a
ডু
a = (3*i*i - i)/2 সেট করো
i += 1 সেট করো
হোল (a < n);
রিটার্ন (a == n);
স্টেপ ২ -> main()-এ
int n = 22 ডিক্লেয়ার করো
যদি (check(n))
প্রিন্ট is pentagonal
শেষ
অন্যথায়
প্রিন্ট it is not pentagonal
শেষ
স্টপ
উদাহরণ (C++ কোড)
#include <iostream>
using namespace std;
// N পেন্টাগোনাল কিনা তা চেক করো
bool check(int n) {
int i = 1, a;
do {
a = (3*i*i - i)/2;
i += 1;
}
while (a < n);
return (a == n);
}
int main() {
int n = 22;
if (check(n))
cout << n << " is pentagonal " << endl;
else
cout << n << " is not pentagonal" << endl;
return 0;
}
আউটপুট
22 is pentagonal