Làm sao để có câu trả lời hay nhất?
13/01/2025
16/01/2025
rUgsHiểu rõ bài toán
Input: Một dãy số nguyên A có N phần tử.
Output: Số lượng số nguyên tố có trong dãy A.
Giải thuật
Nhập dữ liệu: Nhập vào số lượng phần tử N và các phần tử của dãy A.
Khởi tạo biến đếm: Đặt một biến đếm count ban đầu bằng 0 để đếm số lượng số nguyên tố.
Vòng lặp kiểm tra:
Duyệt qua từng phần tử trong dãy A.
Với mỗi phần tử, kiểm tra xem nó có phải là số nguyên tố hay không bằng cách sử dụng một hàm kiểm tra số nguyên tố.
Nếu phần tử là số nguyên tố, tăng biến đếm count lên 1.
In kết quả: In ra giá trị của biến đếm count.
Hàm kiểm tra số nguyên tố
Để kiểm tra một số có phải là số nguyên tố, ta có thể sử dụng thuật toán đơn giản sau:
Một số được coi là số nguyên tố nếu nó lớn hơn 1 và chỉ chia hết cho 1 và chính nó.
Để kiểm tra, ta chỉ cần duyệt từ 2 đến căn bậc hai của số đó. Nếu số đó chia hết cho bất kỳ số nào trong khoảng này thì nó không phải là số nguyên tố.
C++ code
C++
#include <iostream>
13/01/2025
Bài toán đếm số nguyên tố trong dãy số
Hiểu rõ bài toán
Input: Một dãy số nguyên A có N phần tử.
Output: Số lượng số nguyên tố có trong dãy A.
Giải thuật
Nhập dữ liệu: Nhập vào số lượng phần tử N và các phần tử của dãy A.
Khởi tạo biến đếm: Đặt một biến đếm count ban đầu bằng 0 để đếm số lượng số nguyên tố.
Vòng lặp kiểm tra:
Duyệt qua từng phần tử trong dãy A.
Với mỗi phần tử, kiểm tra xem nó có phải là số nguyên tố hay không bằng cách sử dụng một hàm kiểm tra số nguyên tố.
Nếu phần tử là số nguyên tố, tăng biến đếm count lên 1.
In kết quả: In ra giá trị của biến đếm count.
Hàm kiểm tra số nguyên tố
Để kiểm tra một số có phải là số nguyên tố, ta có thể sử dụng thuật toán đơn giản sau:
Một số được coi là số nguyên tố nếu nó lớn hơn 1 và chỉ chia hết cho 1 và chính nó.
Để kiểm tra, ta chỉ cần duyệt từ 2 đến căn bậc hai của số đó. Nếu số đó chia hết cho bất kỳ số nào trong khoảng này thì nó không phải là số nguyên tố.
C++ code
C++
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int N;
cin >> N;
int A[N];
for (int i = 0; i < N; i++) {
cin >> A[i];
}
int count = 0;
for (int i = 0; i < N; i++) {
if (isPrime(A[i])) {
count++;
}
}
cout << "So luong so nguyen to trong day la: " << count << endl;
return 0;
}
Nếu bạn muốn hỏi bài tập
Các câu hỏi của bạn luôn được giải đáp dưới 10 phút
CÂU HỎI LIÊN QUAN
21/04/2025
21/04/2025
21/04/2025
Top thành viên trả lời