int narcisista(int n) { // determina si n es igual a la suma de los // cubos de sus digitos (narcisista) int sn = 0; // si narcisista ( 1 = si, 0 = no) int s = 0; // suma de los cubos de los digitos int d; // ultimo digito actual int cn = n; // copia de n while (n > 0) { d = n%10; s += d*d*d; n /= 10; } if (s == cn) sn = 1; return sn; } void nacisistas(int n[], int c) { // encuentra los primeros n narcisistas int nn = 0; // numero de narcisistas int ca = 1; // candidatos a narcisistas while (nn < c) { if (narcisista(ca)) n[nn++] = ca; ca++; } }