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

โปรแกรมตรวจสอบ N เป็นเลขห้าเหลี่ยมในภาษา C++


ให้เลข 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