×

Kiểm Tra Số Nguyên Tố Trong C với Hàm isPrime

Dưới đây là mã nguồn C của một hàm kiểm tra một số có phải là số nguyên tố hay không. Một số được coi là số nguyên tố nếu nó lớn hơn 1 và không có ước số nào khác ngoài 1 và chính nó.

#include <stdio.h>

// Hàm kiểm tra số nguyên tố
int isPrime(int number) {
    if (number <= 1) {
        return 0; // Số 0 và 1 không phải là số nguyên tố
    }
    for (int i = 2; i * i <= number; i++) {
        if (number % i == 0) {
            return 0; // Tìm thấy ước số khác 1 và chính nó
        }
    }
    return 1; // Số đó là số nguyên tố
}

int main() {
    int number;
    printf("Please enter a number: ");
    scanf("%d", &number);

    if (isPrime(number)) {
        printf("%d is a prime number.\n", number);
    } else {
        printf("%d is not a prime number.\n", number);
    }

    return 0;
}

Trong chương trình này:

  • Hàm isPrime(int number) kiểm tra xem number có phải là số nguyên tố hay không. Nếu number nhỏ hơn hoặc bằng 1, hàm trả về 0. Nếu number có ước số nào khác ngoài 1 và chính nó, hàm cũng trả về 0. Nếu không, số đó được coi là số nguyên tố và hàm trả về 1.
  • Trong hàm main, chương trình yêu cầu người dùng nhập một số, sau đó gọi hàm isPrime để kiểm tra số đó và in ra kết quả.

Lưu ý: Việc kiểm tra từ 2 đến căn bậc hai của number là một cách hiệu quả để giảm thiểu số lượng phép tính, vì nếu number có ước số lớn hơn căn bậc hai của nó, thì chắc chắn nó cũng phải có một ước số nhỏ hơn hoặc bằng căn bậc hai của nó.

Comments