Diseñar un algoritmo que permita calcular los 5 primeros números perfectos (un número es perfecto, cuando la suma de sus divisores, sin incluirlo al número es exactamente el mismo número). El 6 es un número perfecto por sus divisores son 1,2 y 3.
Codigo Fuente en C
#include <stdio.h> int main() { int p[11]; int b=0, a,k,i,x; for(k=2;k<702;k++){ a=0; for(i=1;i<(k+2);i++){ if(k%i==0){ a=a+i; if((a-k)==k){ p[b]=k; b++; } } } } for(x=0;x<b;x++){ printf("%d Es un numero perfecto\n",p[x]); } return 0; }
como le puedo hacer si quiero que me imprima los primeros 30 numeros perfectos??
ResponderEliminarcomo le puedo hacer si quiero que me imprima los primeros 30 numeros perfectos??
ResponderEliminarEs un numero demasiado grande, no cabe en la memoria, y el código esta mal al correrlo me dice que 120 es un número perfecto y no lo es.
ResponderEliminarQUIERO QUE ME IMPRIMA LOS PRIMEROS 3 PERFETOS
ResponderEliminarBueno el código de arriba está malo, así que dejo el que he hecho por si a alguien le interesa. http://i.imgur.com/d7eJTFt.png
ResponderEliminarHe tratado de explicarlo un poco con los comentarios, aunque no se me da muy bien xD
Saludos! :)