Números amigos

Enrique Ramas Ferrández

/* En este programa se te pedirá introducir dos números 
naturales y el programa te dirá si éstos son números "amigos" 
o no lo son: para que lo sean, la suma de los divisores propios 
de uno tiene que ser igual al otro número y viceversa (recordar 
que el número mismo no se considera divisor propio, es decir, 
n no es divisor propio de n). */

#include<iostream>
using namespace std;
int main()
{
int n, m;
int divisoresn, divisoresm;
int i, j;

cout<<"Introduce dos numeros: ";
cin>>n>>m;
divisoresn=divisoresm=0;

for(i=1;i<n;i++)
{
 if((n%i)==0)
  {divisoresn=divisoresn+i;}
}

for(j=1;j<m;j++)
{
 if((m%j)==0)
  {divisoresm=divisoresm+j;}
}

}

cout<< "La suma de divisores de "<<n<<" es: "<<
             divisoresn<< endl;

cout<< "La suma de divisores de "<<m<<" es: "<<
             divisoresm<< endl;

if((divisoresn==m)&&(divisoresm==n))
     cout<<"Son numeros amigos"<< endl;
else
     cout<<"No son numeros amigos"<< endl;

 /* PISTA: 220 y 284 son los números amigos más pequeños. */

return 0;
}
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a Números amigos

  1. Observa los límites de los bucles que no van hasta n/2 ó m/2 sino hasta n ó m, respectivamente, porque debes hallar TODOS los divisores propios de n y m.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s