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

โปรแกรม C++ เพื่อแสดงตัวเลขเฉพาะระหว่างสองช่วงโดยใช้ฟังก์ชัน


จำนวนเฉพาะคือจำนวนเต็มที่มากกว่า 1 และตัวประกอบเฉพาะของจำนวนเฉพาะควรเป็นหนึ่งและตัวของมันเอง จำนวนเฉพาะกลุ่มแรกบางจำนวน ได้แก่ 2, 3, 5, 7, 11, 13,17 เป็นต้น

อาจมีจำนวนเฉพาะจำนวนมากระหว่างช่วงสองช่วง ตัวอย่างเช่น จำนวนเฉพาะระหว่างช่วง 5 และ 20 คือ 5, 7, 11, 13, 17 และ 19

โปรแกรมค้นหาและแสดงจำนวนเฉพาะระหว่างสองช่วงมีดังต่อไปนี้

ตัวอย่าง

#include <iostream>
using namespace std;
void primeNumbers (int lbound, int ubound) {
   int flag, i;
   while (lbound <= ubound) {
      flag = 0;
      for(i = 2; i <= lbound/2; i++) {
         if(lbound % i == 0) {
            flag = 1;
            break;
         }
      }
      if (flag == 0)
      cout<<lbound<<" ";
      lbound++;
   }
}
int main() {
   int lowerbound = 20, upperbound = 50;
   cout<<"Prime numbers between "<<lowerbound<<" and "<<upperbound<<" are: ";
   primeNumbers(lowerbound,upperbound);
   return 0;
}

ผลลัพธ์

Prime numbers between 20 and 50 are: 23 29 31 37 41 43 47

ในโปรแกรมข้างต้น ฟังก์ชัน main() มีเฉพาะออบเจกต์ cout และการเรียกใช้ฟังก์ชันไปยังฟังก์ชัน primeNumbers() โดยมีขอบเขตบนและล่างเป็นอาร์กิวเมนต์ ซึ่งสามารถเห็นได้ในข้อมูลโค้ดต่อไปนี้

cout<<"Prime numbers between "<<lowerbound<<" and "<<upperbound<<" are: ";
primeNumbers(lowerbound,upperbound);

ในฟังก์ชัน primeNumbers() แต่ละหมายเลขจาก lbound ถึง ubound จะถูกทดสอบเพื่อดูว่าเป็นจำนวนเฉพาะหรือไม่ หากเป็นจำนวนเฉพาะ จะแสดงขึ้น ทำได้โดยใช้ลูป while

ใน while loop ค่าเริ่มต้นของ flag=0 หากตัวเลขไม่เป็นเฉพาะ ค่าของแฟล็กจะถูกตั้งค่าเป็น 1 ในลูป for หลังจากสิ้นสุดลูป for ถ้าแฟล็กยังคงเป็น 0 ตัวเลขจะเป็นจำนวนเฉพาะและแสดงขึ้น สามารถสังเกตได้จากข้อมูลโค้ดต่อไปนี้

while (lbound <= ubound) {
   flag = 0;
   for(i = 2; i <= lbound/2; i++) {
      if(lbound % i == 0) {
         flag = 1;
         break;
      }
   }
   if (flag == 0)
   cout<<lbound<<" ";
   lbound++;
}