tk5-c90-projects/src/SIEVE01.c
Greg Gauthier fb06bcda8a
Some checks failed
MVS Upload & Execute / upload-and-run (push) Failing after 5s
why can't we find netcat?
2025-10-19 14:39:17 +01:00

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;
}