/******************************************************************
  Prime number Finder v1.0 by Allen Lam
  Uses array to store data, range is preset in compile-time
  Nov 2000
******************************************************************/

#include <stdio.h>
#include <math.h>

const unsigned int max=1000;
char prime[max+1];

int main(){
  unsigned int i, test_limit, x, count = 0;

  puts("*** Prime Number Finder v1.0 by Allen Lam ***\n");

  for (i=0; i<=max; i++) prime[i] = 0;
  prime[2] = 1; prime[3] = 1;

  for (x=4; x<=max; x++){
    test_limit = sqrt(x);
    for(i=2; i<=test_limit; i++){
      if (prime[i]) if (x % i==0) break;
      if (i==test_limit){prime[x] = 1; count++;}
    }//break out here
  }
  for (i=0; i<=max; i++) if (prime[i]) printf("%8d", i);
  printf("\n\n%d prime numbers are found from 1 to %d.\n", count+2, max);
  fflush(stdin);
  getchar();
  return 0;
}

back