Pages

jueves, 17 de enero de 2013

Determinar si dos números son amigos Codigo Fuente en Java

Problema
Implementar un algoritmo que determine si dos números son amigos.

Solución
Ingresamos dos números a los cuales les extraeremos sus divisores para luego determinar si estos números son amigos

Ejemplo
  • Entrada: 220  y 284
             Suma de Divisores 220:   1+2+4+5+10+11+20+22+44+55+110 = 284
             Suma de Divisores 284:   1+2+4+71+142 = 220
             Son amigos por que la suma de los divisores de un número es igual al otro número.
  • Salida: Son números amigos
Codigo Fuente en Java
import java.util.Scanner;
public class NumerosAmigos {
    public static int suma(int N,int S){
        for(int i=2;i<N;i++){
            if(N % i==0){
            S=S+i;
            }
        }
    return S;
    } 
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n1,n2;
        int sum1=1,sum2=1;
        System.out.println("ingrese primer numero");
        n1=sc.nextInt();
        System.out.println("ingrese segundo numero");
        n2=sc.nextInt();
        sum1=suma(n1,sum1);
        sum2=suma(n2,sum2);
        if((sum1==n2)&&(sum2==n1)){
            System.out.println("los numeros "+
            n1+" y "+n2+" Si son numeros amigos");
        }else{
            System.out.println("los numeros "+
            n1+" y "+n2+" No son numeros amigos");
        }
     }
}

0 comentarios:

Publicar un comentario en la entrada