Số nguyên tố (prime) là số nguyên lớn hơn 1 và chỉ có ước là 1 và chính nó. Một số nguyên tố đầu tiên: 2, 3, 5, 7, 11, 13, 17...
Có nhiều số nguyên tố giữa hai khoảng. Ví dụ, số nguyên tố giữa 5 và 20: 5, 7, 11, 13, 17, 19.
Chương trình tìm và hiển thị số nguyên tố giữa hai khoảng:
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 << "Số nguyên tố giữa " << lowerbound << " và " << upperbound << " là: ";
primeNumbers(lowerbound, upperbound);
return 0;
}
Kết quả đầu ra
Số nguyên tố giữa 20 và 50 là: 23 29 31 37 41 43 47
Trong chương trình, main() chỉ chứa cout và lời gọi hàm primeNumbers() với upperbound và lowerbound:
cout << "Số nguyên tố giữa " << lowerbound << " và " << upperbound << " là: "; primeNumbers(lowerbound, upperbound);
Trong hàm primeNumbers(), mỗi số từ lbound đến ubound được kiểm tra xem có phải nguyên tố không. Nếu là nguyên tố thì hiển thị. Dùng vòng lặp while:
Trong while, flag khởi tạo = 0. Nếu số không phải nguyên tố, flag gán = 1 trong vòng for. Sau for, nếu flag vẫn 0 thì số là nguyên tố và in ra:
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++;
}