How to check quickly if a number is prime in C?
If speed is a priority and your numbers are large, you're best off using a specialized library like GMP. For small numbers, a lookup table could also be viable. Otherwise, here's a reasonably efficient implementation:
```c
#include <math.h>

int is_prime(unsigned int n)
{
	unsigned int factor;
    if (n == 2) return 1; // 2 is the only even prime
	if (!(n & 1) || n == 0) return 0; // special case for even and 0

	for (factor = 3; factor <= ceil(sqrt(n)); factor += 2) // we know it's not even so we can start at 3
		if (!(n % factor)) return 0;
	return 1;
}
```
Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:

How to check quickly if a number is prime in C?

### Response:

If speed is a priority and your numbers are large, you're best off using a specialized library like GMP. For small numbers, a lookup table could also be viable. Otherwise, here's a reasonably efficient implementation:
```c
#include <math.h>

int is_prime(unsigned int n)
{
	unsigned int factor;
    if (n == 2) return 1; // 2 is the only even prime
	if (!(n & 1) || n == 0) return 0; // special case for even and 0

	for (factor = 3; factor <= ceil(sqrt(n)); factor += 2) // we know it's not even so we can start at 3
		if (!(n % factor)) return 0;
	return 1;
}
```
