Tema: Ayuda ...:P
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2008, 21:57
zare
 
Fecha de Ingreso: agosto-2008
Ubicación: Mi casa!!! Perú-Aqp
Mensajes: 28
Antigüedad: 16 años, 5 meses
Puntos: 0
Ayuda ...:P

hola a todos!!
bueno mi problema es el siguiente estoy haciendo una función q ...me tiene que generar "n"... números mágicos...el profesor nos dijo que un número mágico es aquel que sumando sus divisores menos el mismo ....es el mismo número...ejemplo

divisores números
1 + 2 + 3 = 6
1 + 2 + 4 + 7 + 14 = 28

ya entonces yo hice mi código... hice una función que me dice si un número es mágico o no ....y a partir de esto en otra funcion estoy generando los mágicos ...pero algo anda mal creo ......porque si le pongo que quiero 4 magicos me salen los cuatro .le pongo 5 y ahi se queda el programa ...la verdad no le encuentro el error haber si me ayudan ...gracias!!

bool magicoss(int n)
{
int d;
int magico=0;
for(int i=1; i<n;i++)
{
d=n/i;

if(n%i==0)
{

magico=magico+i;

}

}
if(magico==n)
return true ;
else
return false;


}

void generarmagicos(int y)
{
int cont=0;
for(int i=1;cont<y;i++)
if(magicoss(i)==1)
{
cout<<i<<endl;
cont++;
}
}

int main()
{
int x;
cout<<"Ingrese numero"<<endl;
cin>>x;
generarmagicos(x);
}