ให้เลข N มีหน้าที่ตรวจสอบว่าตัวเลขนั้นเป็นตัวเลขห้าเหลี่ยมหรือไม่ ตัวเลขที่สามารถจัดเรียงเป็นรูปห้าเหลี่ยมได้เป็นตัวเลขห้าเหลี่ยมเนื่องจากตัวเลขเหล่านี้สามารถใช้เป็นจุดเพื่อสร้างรูปห้าเหลี่ยมได้ ตัวอย่างเช่น ตัวเลขห้าเหลี่ยมบางตัวคือ 1, 5, 12, 22, 35, 51....
เราสามารถใช้สูตรเช็คว่าเป็นตัวเลขห้าเหลี่ยมได้หรือไม่
$$p(n)=\frac{\text{3}*n^2-n}{\text{2}}$$
โดยที่ n คือจำนวนคะแนนที่ห้าเหลี่ยมจะมี
ตัวอย่าง
Input-: n=22 Output-: 22 is pentagonal number Input-: n=23 Output-: 23 is not a pentagonal number
อัลกอริทึม
Start Step 1 -> declare function to Check N is pentagonal or not bool check(int n) declare variables as int i = 1, a do set a = (3*i*i - i)/2 set i += 1 while ( a < n ); return (a == n); Step 2 -> In main() Declare int n = 22 If (check(n)) Print is pentagonal End Else Print it is not pentagonal End Stop
ตัวอย่าง
#include <iostream>
using namespace std;
// check N is pentagonal or not.
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