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

โปรแกรม C++ เช็คว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่


จำนวนเฉพาะคือจำนวนเต็มที่มากกว่า 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";