#include using namespace std; bool esPerfecto(int n) { // Devuelve true si n es perfecto. int sumatorio = 0; for (int i = 1; i < n; i++) if (n % i == 0) sumatorio += i; return sumatorio == n; } void muestraPerfectos(int limite) { // Muestra todos los numeros perfectos entre 1 y limite. for (int i = 1; i <= limite; i++) if (esPerfecto(i)) cout << i << endl; } int main () { int limite; cout << "Dime un numero y te dire los numeros perfectos menores o iguales que el: "; cin >> limite; muestraPerfectos(limite); }