/* primen.c find largest prime less than or equal to target use djb primegen library ("atkin's sieve") wcm, 2004.02.19 - 2004.02.19 === */ #include #include #include int main(int argc, char **argv) { primegen pg; uint64 target = 0L; uint64 last = 0L; if(argv[1]) target = strtoull(argv[1],NULL,10); if(target < 2) exit(EXIT_FAILURE); primegen_init(&pg); while(primegen_peek(&pg) <= target) last = primegen_next(&pg); printf("%llu\n", last); return 0; } /* that's all, folks! */