#include "genlib.h" /*determines the greatest prime factor of an integer*/ int maxfactor(int n) { int test_fact(int* pnum, int fact, int* pmaxfac); int lnum, fact; int maxfac; maxfac = 1; lnum = n; if (lnum != 0 && lnum != 1) { fact = 2; if (test_fact(&lnum, fact, &maxfac)) { fact = 3; if (test_fact(&lnum, fact, &maxfac)) { fact = 5; for (;;) { if (!test_fact(&lnum, fact, &maxfac)) break; fact += 2; if (!test_fact(&lnum, fact, &maxfac)) break; fact += 4; } } } if (lnum != 1) { if (lnum > maxfac) maxfac = lnum; } } return (maxfac); }