In ra các số nguyên tố trong mảng C/C++ – https://final-blade.com

Bài toán luyện tập số 13 là một bài toán về số nguyên tố trong C/C++. Bài toán rất phù hợp cho người mới bắt đầu học lập trình, bạn đọc đừng bỏ lỡ nhé!

1. Giới thiệu bài toán

Đề bài :

Viết hàm in ra các số nguyên tố trong mảng 1 chiều a có n phần tử.

Đánh giá : Bài tập trên ở mức độ trung bình, tổng thể mọi người mới mở màn học ngôn từ lập trình C / C + + đều hoàn toàn có thể làm được .

2. Giải quyết bài toán

Yêu cầu :
Với đề bài này, bạn đọc cần nắm vững một chút ít kiến thức và kỹ năng về ngôn từ lập trình C / C + + ( bạn đang thực hành thực tế ngôn từ nào thì sử dụng ngôn từ đó ) .
Biết cách sử dụng vòng lặp ( for ), sử dụng hàm và hiểu cấu trúc cơ bản của ngôn từ .

2.1 Hàm kiểm tra số nguyên tố trong C/C++

Tất cả các bài toán liên quan đến số nguyên tố, theo mình thấy đều phài viết hàm này. Viết hàm kiểm tra xem một số nguyên bất kì có phải là số nguyên tố hay không?

Trước tiên bạn phải hiểu định nghĩa thế nào là số nguyên tố :
Số nguyên tố là số chỉ chia hết cho một và chính nó .
Để nhận ra được có phải là số nguyên tố hay không, lập trình viên thường kiểm tra xem nó có chia hết cho số thứ 3 nào đó hay không ?
Có hai cách để kiểm tra một số nguyên bất kể có phải là số nguyên tố hay không :

  • Dùng vòng lặp for để kiểm tra số đó có chia hết cho số thứ 3 hay không (phương pháp này đơn giản và được nhiều tác giả giới thiệu)
  • Dùng sàng số nguyên tố ( phương pháp này ít được giới thiệu nhưng tối ưu hơn phương pháp trên)

Trong bài này mình sẽ trình làng giải pháp thứ nhất, giải pháp thứ 2 mình sẽ dành riêng cho một bài viết

Dùng vòng lặp for để kiểm tra số nguyên tố

Cách này chúng ta sẽ sử dụng vòng lặp for cho chạy từ 2 cho đến n/2 hoặc sqrt(n/2). Giải thích: Vì số nguyên lớn nhất mà một số có thể chia hết là nửa của nó.

Code :

int ktrant(int n){
    if(n<2)
        return 0;
    else{
        for(int i=2;i<=n/2;i++)
            if(n%i==0)
                return 0;
        return 1;
    }
}

return 1 tức là đúng, return 0 tương tự với sai .

2.2 Hàm in ra số nguyên tố có trong mảng

Hàm này rất đơn thuần, mình cho chạy một vòng for duyệt mảng, nếu số nào thỏa mãn nhu cầu điều kiện kèm theo là số nguyên tố ( sử dụng hàm ở phía trên ) thực thi in ra màn hình hiển thị .
Code C :

void insonguyento(int a[], int n){
	printf("\nCac so nguyen to co trong mang la: \n");
	for(int i=0;iCode C + + :
C và C + + chỉ khác nhau phần câu lệnh nhập xuất, về cú pháp vẫn giống nhau. C + + được tương hỗ nhiều thư viện hơn và nó là ngôn từ lập trình hướng đối tượng người dùng .
void insonguyento(int a[], int n){
	cout<<"\nCac so nguyen to co trong mang: "<

2.3 Chương trình in ra các số nguyên tố có trong mảng C/C++

Các bạn cần thêm phần nhập xuất mảng và cấu trúc cơ bản của một chương trình để giải bài tập này nhé!

Code C :
#include
void nhap(int a[], int &n){
	do{
		printf("Nhap n: ");
		scanf("%d",&n);
	}
	while(n<2||n>99);
	
	for(int i=0; iCode C + + :
#include
using namespace std;
void nhap(int a[], int &n){
	do{
		cout<<("Nhap n: ");
		cin>>n;
	}
	while(n<2||n>99);
	for(int i=0; i>a[i];
	}
}

void xuat(int a[], int n){
	for(int i=0;iKết quả của chạy chương trình trên
in ra cac so nguyen to co trong mangNhư vậy là tất cả chúng ta đã xử lý xong bài toán in ra những thành phần là số nguyên tố trong mảng một chiều bằng ngôn từ C / C + +. Cảm ơn bạn đã chăm sóc bài viết, đừng bỏ lỡ những bài tập tiếp theo nhé !

Xem tiếp bài 14: Xóa các số nguyên tố trong mảng

Xem lại bài 12: Sắp xếp mảng theo thứ tự giảm dần

Tải về 67 bài tập đề cương lập trình C/C++

Mọi vấn đề thắc mắc hay đóng góp ý kiến giúp mình hoàn thiện bài viết, bạn đọc để lại comment phía dưới.