2025-10-19 12:48:47 +00:00
|
|
|
#include<stdio.h>
|
|
|
|
|
|
|
|
#define LIMIT 10000
|
|
|
|
#define PRIMES 1000
|
|
|
|
|
2025-10-19 13:05:24 +00:00
|
|
|
// Sieve of Eratosthenes
|
2025-10-19 13:36:55 +00:00
|
|
|
// Author: Greg Gauthier
|
2025-10-19 12:48:47 +00:00
|
|
|
int main()
|
|
|
|
{
|
|
|
|
int i,j,numbers[LIMIT];
|
|
|
|
int primes[PRIMES];
|
|
|
|
|
|
|
|
for (i=0;i<LIMIT;i++)
|
|
|
|
{
|
|
|
|
numbers[i]=i+2;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i=0;i<LIMIT;i++)
|
|
|
|
{
|
|
|
|
if (numbers[i]!=-1)
|
|
|
|
{
|
|
|
|
for (j=2*numbers[i]-2;j<LIMIT;j+=numbers[i])
|
|
|
|
numbers[j]=-1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
j = 0;
|
|
|
|
for (i=0;i<LIMIT&&j<PRIMES;i++)
|
|
|
|
if (numbers[i]!=-1)
|
|
|
|
primes[j++] = numbers[i];
|
|
|
|
|
|
|
|
printf("\n");
|
|
|
|
printf("PRIME NUMBERS BETWEEN 1 AND %d\n",LIMIT);
|
|
|
|
printf("TOTAL PRIMES FOUND: %d\n\n",PRIMES);
|
|
|
|
printf("LIST OF PRIMES:\n\n");
|
|
|
|
|
|
|
|
for (i=0;i<PRIMES;i++)
|
|
|
|
if (i % 20 == 0)
|
|
|
|
{
|
|
|
|
printf("\n %4d ",primes[i]);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
printf("%4d ",primes[i]);
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|