// maximo factor primo de n double maxFacPri(double n) { // retorna el mayor factor primo de n double mfp = 1; // maximo factor primo (1 = ninguno hasta ahora) double c = 2; // contador de 2 a n/2 while (c <= n/2) { if (((n-trunc(n/c)*c) == 0) && primo(c)) mfp = c; c += 1; } return mfp; } double primo(double n) { // determina si n es primo (1 = si, 0 = no) int sp = 1; // si primo (asume que es) double c = 2; // contador de 2 a n/2 while (c <= n/2 && sp) { if ((n-trunc(n/c)*c) == 0) sp = 0; c += 1; } return sp; }