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#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NumerosAmigos
{
    class Program
    {
        static int suma(int N, int S) {
            for (int i = 2; i < N; i++) { 
                if(N % i==0){
                    S = S + i;
                }
            }
            return S;
        }
        static void Main(string[] args)
        {
            int n1, n2;
            int sum1=1, sum2=1;
            Console.WriteLine("ingrese el primer numero");
            n1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("ingrese el segundo numero");
            n2 = Convert.ToInt32(Console.ReadLine());
            sum1 = suma(n1,sum1);
            sum2 = suma(n2, sum2);
            if((sum1==n2) && (sum2==n1)){
            Console.WriteLine("los numeros "+n1+" y "+n2+
" Si son numeros amigos");
            }else{
            Console.WriteLine("los numeros "+n1+" y "+n2+" No son numeros amigos");
            }
            Console.ReadLine();
        }
    }
}

1 comentarios:

Unknown dijo...

obrigado salvou mi vida

Publicar un comentario