#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*This program will generate a list of prime numbers up to UPPERLIMIT*/
int IsPrime(int);
#define UPPERLIMIT 2000000
FILE *file;
char *filename = "C:\\Users\\chris\\Documents\\primelist.txt";
int main()
{
int x;
unsigned long long total = 2;
printf("Opening file %s\n", filename);
file = fopen(filename,"a");
if (file == NULL)
{
printf("File could not be open\n");
return 0;
}
printf("Generating list of primes to %s\n", filename);
/*fprintf(file, "---Starting Generation---\n");*/
printf("2\n");
fprintf(file, "%i\n", 2);
for (x = 3; x <= UPPERLIMIT; x+=2)
{
if (IsPrime(x))
{
printf("%i\n", x);
total = total + x;
fprintf(file, "%i\n", x);
}
}
printf("%llu\n", total);
fclose(file);
return 0;
}
int IsPrime(int x)
{
int index;
if (x % 2 == 0) {return 0;}
for (index = 3; index < x; index++)
{
if ((x % index) == 0)
{
return 0;
}
}
return 1;
}