Hàm isprime trong c | Laptrinhcanban.com

Hàm isprime trong c

Hướng dẫn cách viết hàm isprime trong c. Bạn sẽ biết cách tự tạo ra hàm isprime kiểm tra số nguyên tố trong C sau bài học này.

Hàm isprime trong c

Hàm isprime được sử dụng để kiểm tra số nguyên tố trong C. Rất tiếc là trong C không tồn tại sẵn hàm này, nên chúng ta cần phải tự viết hàm để sử dụng.

Chúng ta đều biết một số được coi là số nguyên tố nếu nó lớn hơn 1chỉ có đúng hai ước số là 1 và chính nó.

Bởi vậy nếu số đã cho có nhiều hơn dù chỉ 1 ước số khác số 1 và chính nó thì nó không phải là số nguyên tố.

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

Dựa vào điều này mà chúng ta có thể tạo hàm isprime trong c để kiểm tra số nguyên tố như sau:

#include <stdio.h>
int isprime(int n){
//flag = 0 => không phải số nguyên tố
//flag = 1 => số nguyên tố

int flag = 1;

if (n <2) return flag = 0; /*Số nhỏ hơn 2 không 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 <n){
if( n%i==0 ) {
flag = 0;
break; /*Chỉ cần tìm thấy 1 ước số là đủ và thoát vòng lặp*/
}
i++;
}

return flag;
}

Chúng ta có thể gọi hàm isprime trong chương trình kiểm tra số nguyên tố như dưới đây. Chương trình này có tác dụng nhập n kiểm tra n có phải số nguyên tố không không C.

#include <stdio.h>
int isprime(int n){
//flag = 0 => không phải số nguyên tố
//flag = 1 => số nguyên tố

int flag = 1;

if (n <2) return flag = 0; /*Số nhỏ hơn 2 không 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 <n){
if( n%i==0 ) {
flag = 0;
break; /*Chỉ cần 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 so tu nhien= ");
scanf("%d",&n);

int check = isprime(n);

if( check == 1 ) printf("%d la so nguyen to\n", n);
else printf("%d khong phai la so nguyen to\n", n);
return 0;
}

Màn hình nhập liệu và kết quả chương trình C kiểm tra số nguyên tố sẽ như sau:

Nhap so tu nhien= 1
1 khong phai la so nguyen to

Nhap so tu nhien= 2
2 la so nguyen to

Nhap so tu nhien= 3
3 la so nguyen to

Nhap so tu nhien= 4
4 khong phai la so nguyen to

Nhap so tu nhien= 5
5 la so nguyen to

Nhap so tu nhien= 6
6 khong phai la so nguyen to

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách viết hàm isprime trong c rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C trong các bài học tiếp theo

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.