HÀM KIỂM TRA SỐ NGUYÊN TỐ TRONG C

Hướng dẫn bí quyết kiểm tra số yếu tắc trong C. Các bạn sẽ học được giải pháp tạo hàm kiểm tra số thành phần trong C cũng như cách liệt kê toàn bộ các số nguyên tố nhỏ dại hơn n bởi C sau bài học kinh nghiệm này.

Bạn đang xem: Hàm kiểm tra số nguyên tố trong c

Số nhân tố trong C là gì

Chúng ta những biết số nhân tố là số tự nhiên lớn hơn 1 không phải là tích của nhị số tự nhiên bé dại hơn. Nói giải pháp khác, số thành phần là rất nhiều số chỉ có đúng hai cầu số là 1 trong và chính nó.

Ví dụ, bọn họ xem xét các số 2, 3, 6 như sau:

Số 2 chỉ có đúng hai ước số là 1 và bao gồm nó bắt buộc là số nguyên tốSố 3 chỉ tất cả đúng hai ước số là một trong những và chính nó đề nghị là số nguyên tốSố 6 bao gồm 4 cầu số là 1, 2 , 3 cùng 6, cho nên vì vậy nó chưa phải là số nguyên tố.

Kiểm tra số nguyên tố trong C

Số nguyên tố là số lớn hơn 1chỉ bao gồm đúng hai ước số là một trong những và chủ yếu nó. Vì vậy nếu số đã mang đến có nhiều hơn dù chỉ 1 ước số khác hàng đầu và chính nó thì nó không phải là số nguyên tố.

Xem thêm: Xem Phim Hoa Du Ký Tập 13 Vietsub + Thuyết Minh A Korean Odyssey

Để soát sổ được điều này, họ chỉ nên kiểm tra trong phạm vi lớn hơn 1 và nhỏ dại hơn số đang cho có tồn tại mong số làm sao không, cùng nếu tồn tại cho dù chỉ một mong số thì có thể khẳng định số đã cho không phải là số nguyên tố.

Dựa vào điều đó mà bạn có thể tạo hàm kiểm tra số nguyên tố trong c sử dụng while như sau:

Copy

#include int isprime(int n) //flag = 0 => không hẳn số yếu tố //flag = 1 => số nguyên tố int flag = 1; if (n 2) return flag = 0; /*Số nhỏ tuổi hơn 2 chưa phải số nguyên tố => trả về 0*/ /*Sử dụng vòng lặp while để kiểm tra có tồn tại ước số nào khác không*/ int i = 2; while(i if( n%i==0 ) flag = 0; break; /*Chỉ cần tìm thấy 1 mong số là đủ với thoát vòng lặp*/ i++; return flag;}

Chúng ta hoàn toàn có thể gọi hàm này và áp dụng để viết chương trình c kiểm tra số nguyên tố như bên dưới đây. Lịch trình này có tác dụng nhập n kiểm soát n có phải số yếu tố không ko C.

Copy

#include int isprime(int n) //flag = 0 => chưa hẳn số nhân tố //flag = 1 => số thành phần int flag = 1; if (n 2) return flag = 0; /*Số nhỏ dại hơn 2 không hẳn số nhân tố => trả về 0*/ /*Sử dụng vòng lặp while để kiểm tra có tồn tại cầu số nào khác không*/ int i = 2; while(i if( n%i==0 ) flag = 0; break; /*Chỉ buộc phải tìm thấy 1 cầu số là đủ và thoát vòng lặp*/ i++; return flag;}int main(void) int n; printf("Nhap so tu nhien= "); scanf("%d",&n); int kiểm tra = isprime(n); if( check == 1 ) printf("%d la so nguyen to ", n); else printf("%d khong phai la so nguyen to ", n); return 0;

Màn hình nhập liệu và tác dụng chương trình C bình chọn số nguyên tố sẽ như sau:

Copy

Nhap so tu nhien= 11 khong phai la so nguyen toNhap so tu nhien= 22 la so nguyen toNhap so tu nhien= 33 la so nguyen toNhap so tu nhien= 44 khong phai la so nguyen toNhap so tu nhien= 55 la so nguyen toNhap so tu nhien= 66 khong phai la so nguyen to

Liệt kê tất cả các số nguyên tố nhỏ dại hơn n

Sử dụng phương thức ở trên, bạn cũng có thể liệt kê tất cả các số nguyên tố nhỏ dại hơn n bởi C.

Và dưới đấy là ví dụ về công tác liệt kê toàn bộ các số nguyên tố nhỏ hơn n trong C:

Copy

#include int isprime(int n) //flag = 0 => không phải số thành phần //flag = 1 => số nhân tố int flag = 1; if (n 2) return flag = 0; /*Số bé dại hơn 2 không hẳn số nguyên tố => trả về 0*/ /*Sử dụng vòng lặp while để kiểm tra tất cả tồn tại ước số nào khác không*/ int i = 2; while(i if( n%i==0 ) flag = 0; break; /*Chỉ đề xuất tìm thấy 1 ước số là đủ và thoát vòng lặp*/ i++; return flag;}int main(void) int n; printf(">> nhap mot so n: "); scanf("%d",&n); int i = 0, check; while ( i kiểm tra = isprime(i); if( check == 1 ) printf("%d ", i); ++i; return 0;}

Kết quả:

Copy

Tổng kết

Trên đây Kiyoshi đã hướng dẫn chúng ta cách kiểm tra số thành phần trong C, cũng tương tự cách liệt kê tất cả các số nguyên tố nhỏ hơn n bởi C rồi. Để nắm vững nội dung bài học kinh nghiệm hơn, bạn hãy thực hành viết lại những ví dụ của ngày hôm nay nhé.