Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để hiển thị các số nguyên tố giữa hai khoảng thời gian bằng cách sử dụng các hàm

Số nguyên tố là số nguyên lớn hơn một và các thừa số duy nhất của số nguyên tố phải là một và chính nó. Một số số nguyên tố đầu tiên là 2, 3, 5, 7, 11, 13, 17, v.v.

Giữa hai khoảng có thể có nhiều số nguyên tố. Ví dụ:các số nguyên tố giữa các khoảng 5 và 20 là 5, 7, 11, 13, 17 và 19.

Chương trình tìm và hiển thị các số nguyên tố giữa hai khoảng được đưa ra như sau.

Ví dụ

#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;
}

Đầu ra

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

Trong chương trình trên, hàm main () chỉ chứa đối tượng cout và lời gọi hàm tới hàm primeNumbers () với các đối số là ký tự trên và ký tự dưới. Điều này có thể được nhìn thấy trong đoạn mã sau.

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

Trong hàm primeNumbers (), mỗi số từ đi đến đi đều được kiểm tra để xem nó có phải là số nguyên tố hay không. Nếu nó là một số nguyên tố, nó sẽ được hiển thị. Điều này được thực hiện bằng vòng lặp while.

Trong vòng lặp while, giá trị ban đầu của cờ =0. Nếu số không phải là số nguyên tố, thì giá trị của cờ được đặt thành 1 trong vòng lặp for. Sau khi kết thúc vòng lặp for, nếu cờ vẫn là 0, thì số đó là số nguyên tố và nó được hiển thị. Điều này có thể được quan sát từ đoạn mã sau.

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++;
}