Some checks failed
MVS Upload & Execute / upload-and-run (push) Failing after 5s
50 lines
851 B
C
50 lines
851 B
C
#include<stdio.h>
|
|
|
|
#define LIMIT 10000
|
|
#define PRIMES 1000
|
|
|
|
// Sieve of Eratosthenes
|
|
// Author: Greg Gauthier
|
|
// Date: 2016-01-20
|
|
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;
|
|
}
|