DANH SÁCH BÀI VIẾT Cách kiểm tra Số nguyên tố trong lập trình C/C++ Đếm số lượng số nguyên tố nhỏ hơn n lập trình C/C++ Liệt kê các số nguyên tố nhỏ hơn n lập trình C/C++ Đếm số lượng số nguyên tố trong mảng lập trình C/C++ Liệt kê các số nguyên tố trong mảng lập trình C/C++ Tìm hiểu về thuật toán Sàng nguyên tố (sàng Eratosthenes)
Trong bài viết này chúng ta sẽ cùng đi giải quyết bài toán Liệt kê các số nguyên tố trong mảng lập trình C/C++
Liệt kê các số nguyên tố nhỏ hơn n
Giả sử ta đang có mảng A bao gồm n phần tử, yêu cầu bài toán là hãy liệt kê các số là số nguyên tố có trong mảng A.
Để liệt kê các số nguyên tố có trong mảng A ý tưởng sẽ như sau, đầu tiên ta nhập n sau đó duyệt vòng lặp để nhập n phần tử cho mảng A từ bàn phím, sau đó sẽ viết 1 hàm kiểm tra 1 số có phải là số nguyên tố hay không. Duyệt vòng lặp chạy từ 1 cho tới n để duyệt hết tất cả các phần tử có trong mảng A, gọi hàm kiểm tra phần tử thứ A[i] có phải là số nguyên tố hay không, nếu có ta in số đó ra màn hình.
Ta có hàm kiểm tra một số có phải là số nguyên tố hay không như sau.
bool checkNT(int n){
if(n<2) return false;
int sq = sqrt(n);
for(int i=2;i <=sq ;i++){
if(n % i){
return false;
}
}
return true;
}
Nếu bạn không hiểu hàm này thì đọc bài viết dưới đây nhé, mình có giải thích tương đối rõ rằng rồi.
#include <stdio.h>
#include <math.h>
//Hàm ki?m tra s? nguyên t?
bool checkNT(int n)
{
if(n<2) return false;
int sq = sqrt(n);
for(int i=2;i <=sq ;i++){
if(n % i == 0){
return false;
}
}
return true;
}
int main()
{
int n;
printf("Nhap n:");
scanf("%d", &n); //Nh?p n t? bàn phím
int A[n]; //Khai bao mang A gom n phan tu
//Duyet vòng lap nhap n phan tu cho mang A
for(int i=0;i<n;i++){
printf("A[%d] = ", i);
scanf("%d", &A[i]); //Nhập phần tử thứ A[i]
}
for(int i=0;i<n;i++){
if(checkNT(A[i]) == true)
printf("%d ", A[i]); //Nếu phần tử A[i]ư là số NT thì in ra
}
}
[Xem tất cả bài viết chủ đề C/C++ tại đây]
nhìn bài mà em nứng quá
thật là vê lờ em…
nll