จำนวนเฉพาะคือจำนวนเต็มที่มากกว่า 1 และตัวประกอบเฉพาะของจำนวนเฉพาะควรเป็นหนึ่งและตัวของมันเอง จำนวนเฉพาะตัวแรกคือ −
2, 3, 5, 7, 11, 13 ,17
โปรแกรมเช็คว่าเลขเด่นหรือไม่มีดังนี้
ตัวอย่าง
#include <iostream> using namespace std; int main() { int n=17, i, flag = 0; for(i=2; i<=n/2; ++i) { if(n%i==0) { flag=1; break; } } if (flag==0) cout<<n<<" is a prime number"; else cout<<n<<" is not a prime number"; return 0; }
ผลลัพธ์
17 is a prime number
ในโปรแกรมข้างต้น มีลูปที่รันจาก 2 ถึงครึ่งหนึ่งของ n โดยที่ n คือตัวเลขที่จะกำหนด แต่ละค่าของการวนซ้ำหาร n หากเศษที่เหลือของการหารนี้เป็น 0 แสดงว่า n หารด้วยตัวเลขลงตัว ไม่ใช่ตัวเดียวหรือตัวมันเอง ดังนั้นจึงไม่ใช่จำนวนเฉพาะและตั้งค่าสถานะเป็น 1 จากนั้นคำสั่ง break จะใช้เพื่อออกจากลูป
for(i=2; i<=n/2; ++i) { if(n%i==0) { flag=1; break; } }
หากค่าของแฟล็กยังคงเป็นศูนย์ แสดงว่าตัวเลขนั้นเป็นจำนวนเฉพาะและแสดงขึ้น หากค่าของแฟล็กถูกเปลี่ยนเป็นหนึ่ง ตัวเลขนั้นไม่ใช่จำนวนเฉพาะและจะแสดงขึ้น
if (flag==0) cout<<n<<" is a prime number"; else cout<<n<<" is not a prime number";