Liệt kê các số nguyên tố nhỏ hơn n lập trình C/C++
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ẽ đi giải quyết bài toán Liệt kê các 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
Để liệt kê các số nguyên tố nhỏ hơn n ý tưởng sẽ như sau, đầu tiên ta nhập n 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, gọi hàm kiểm tra số thứ i có phải là số nguyên tố hay không, nếu có ta in số đó ra màn hình.
- Khóa học lập trình C/C++ từ A-Z cho người mới – Giảm giá 40% hôm nay
- Khóa học Java cơ bản dành cho người mới bắt đầu- Giảm 40% hôm nay
- Khóa học lập trình Android từ cơ bản đến thành thạo – Giảm ngay 40%
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.
Chương trình hoàn chỉnh
>>XEM THÊM: Khóa học lập trình C/C++ từ A-Z cho người mới – Giảm giá 40% hôm nay
#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 for(int i=1;i<n;i++){ if(checkNT(i) == true) printf("%d ", i);//Nêu i là số nguyên tố thì ta in biến i ra màn hình } }
Trong trường hợp đề bài yêu cầu là liệt kê số lượng số nguyên tố nhỏ hơn hoặc bằng n thì chỉ cần thay đổi điều kiện i<n thành i<=n là được nhé.
[Xem tất cả bài viết chủ đề C/C++ tại đây]