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 xemnumbercó phải là số nguyên tố hay không. Nếunumbernhỏ hơn hoặc bằng 1, hàm trả về0. Nếunumbercó ướ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àmisPrimeđể 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