// calcula maximo palindromo de n digitos int maxPalin(int n) { // maximo palindromo producto de dos numeros // de n digitos int mp = 1; // maximo palindromo (1 = no hay) int izq = potencia(10, n-1); // extremo izquierdo int der = potencia(10, n); // derecho int c1 = izq; // contador de izq a der int p; //c1* c2 int c2 ; // contador for (c1 = izq; c1 < der; c1++) for (c2 = izq; c2 < der; c2++) { p = c1*c2; if(palindro(p) && p > mp) mp = p; } return mp; } int potencia(int b, int e) { // eleva b a la e (ambos enteros positivos) int p = b; // while (--e > 0) p *= b; return p; } int palindro(int n) { // determina si n es palndromo // se lle igual de ambas formas (como 12321) int sp = 0; // si palindromo ( 1= si, 0 = no) int cn = n; // copia de n (preserva valor original) int rn = 0; // reverso de n (n al reves) while (n > 0) { rn = 10*rn + n%10; n /= 10; } if (rn == cn) sp = 1; return sp; }