Pages

jueves, 17 de enero de 2013

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

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 C
#include <stdio.h>
#include <stdlib.h>
int i;
int suma(int N,int S){
    for(i=2;i<N;i++){
            if(N % i==0){
                    S=S+i;
            }
    }
    return S;
}
int main(){
    int n1,n2;
    int sum1=1,sum2=1;
    printf("ingrese el primerss numero\n");
    scanf("%d",&n1);
    printf("ingrese el segundo numero\n");
    scanf("%d",&n2);
    sum1=suma(n1,sum1);
    sum2=suma(n2,sum2);
    if((sum1==n2)&&(sum2==n1)){
    printf("los numeros %d y %d Si son numeros amigos",n1,n2);
    }else{
    printf("los numeros %d y %d No son numeros amigos",n1,n2);
    }
  return 0;
}

0 comentarios:

Publicar un comentario