Quảng cáo
1 câu trả lời 12
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int n) {
if (n <= 1) return false;
if (n <= 3) return true;
if (n % 2 == 0 || n % 3 == 0) return false;
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) return false;
}
return true;
}
int main() {
int t;
cin >> t;
while (t--) {
int num;
cin >> num;
if (isPrime(num)) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
Giải thích chương trình:
Hàm isPrime(int n):
Kiểm tra xem số đầu vào n có phải là số nguyên tố hay không.
Các điều kiện:Số nhỏ hơn hoặc bằng 1 không phải số nguyên tố.
Số 2 và 3 là số nguyên tố.
Số chia hết cho 2 hoặc 3 không phải số nguyên tố.
Duyệt từ 5 đến √n để kiểm tra tính nguyên tố (giảm thiểu số lần kiểm tra).
Hàm main():
Nhập số lượng số cần kiểm tra t.
Lặp qua từng số, sử dụng hàm isPrime để kiểm tra, sau đó in kết quả YES hoặc NO.
Input/Output:
Input: Số lượng số t và danh sách t số cần kiểm tra.
Output: Từng dòng in YES nếu là số nguyên tố, NO nếu không.
Quảng cáo
Câu hỏi hot cùng chủ đề
-
2 32387
-
Hỏi từ APP VIETJACK3 24694