# C Exercises: Get the 1001st prime number

## C Programming Challenges: Exercise-23 with Solution

By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.

The first six prime numbers are 2, 3, 5, 7, 11, and 13.

Write a C program to get the 1001st prime number?

**C Code:**

```
#include <stdio.h>
int main(void)
{
char *s;
size_t i;
unsigned ctr = 0;
size_t n = 1000000;
const unsigned target_val = 1001;
s = calloc(n, sizeof *s);
for (i = 2; i < n; i++) {
if (!s[i]) {
size_t j;
ctr++;
if (ctr == target_val) {
printf("%lu\n", i);
break;
}
for (j = i*2; j < n; j += i) {
s[j] = 1;
}
}
}
free(s);
return 0;
}
```

Sample Output:

7927

**Flowchart:**

## C Programming Code Editor:

** Contribute your code and comments through Disqus.**

**Previous C Programming Exercise:** Squared sum minus square of 1st 100 numbers.

**Next C Programming Exercise:** Numbers with 13 adjacent digits have highest product.

**What is the difficulty level of this exercise?**

Test your Programming skills with w3resource's quiz.

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics