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 kiểm tra nguyên tố. Nếu là nguyên tố thì hiển thị. Dùng vòng while:
Trong while, flag khởi tạo = 0. Nếu không phải nguyên tố, flag = 1 trong for. Sau for, nếu flag vẫn 0 thì là nguyên tố, 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++;
}