C Exercises: Get the 1001st prime number
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