Lập trình C - Kiểm tra số nguyên tố

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

Định nghĩa: số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó.

Ví dụ: 2, 3, 5, 7, 11, 13, 17, … là những số nguyên tố.

Chú ý: Số 0 và 1 không phải là số nguyên tố. Chỉ có số 2 là số nguyên tố chẵn, tất cả các số chẵn khác không phải là số nguyên tố vì chúng chia hết cho 2.
 


Ví dụ check số nguyên tố trong C

Chương trình sau kiểm tra một số có phải là số nguyên tố hay không:

File: CheckNguyenTo.c
 

#include<stdio.h>
 
/**
 * check so nguyen to trong C
 * 
 * @param n: so nguyen duong
 * @return 1 la so nguyen so, 
 *         0 khong la so nguyen to
 */
int isPrimeNumber(int n) {
    // so nguyen n < 2 khong phai la so nguyen to
    if (n < 2) {
        return 0;
    }
    // check so nguyen to khi n >= 2
    int squareRoot = (int) sqrt(n);
    int i;
    for (i = 2; i <= squareRoot; i++) {
        if (n % i == 0) {
            return 0;
        }
    }
    return 1;
}

/**
 * Ham main
 */
int main() {
	int i;
    printf("Cac so nguyen to nho hon 100 la: \n");
    for (i = 0; i < 100; i++) {
        if (isPrimeNumber(i)) {
            printf("%d ", i);
        }
    }
}

Kết quả:

Cac so nguyen to nho hon 100 la: 
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97