Diseñar un algoritmo que permita calcular los 5 primeros números perfectos (un número es perfecto, cuando la suma de sus divisores, sin incluirlo al número es exactamente el mismo número). El 6 es un número perfecto por sus divisores son 1,2 y 3.
Codigo Fuente en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Main
{
class Program
{
static void Main(string[] args)
{
int []p=new int[11];
int b=0, a,k,i,x;
String cad="";
for (k = 2; k < 702; k++)
{
a = 0;
for (i = 1; i < (k + 2); i++)
{
if (k % i == 0)
{
a = a + i;
if ((a - k) == k)
{
p[b] = k;
b++;
}
}
}
}
for (x = 0; x < b; x++)
{
cad = cad + " " + p[x] + " Es un numero perfecto\n";
}
Console.WriteLine(cad);
Console.ReadLine();
}
}
}
1 comentarios:
Porque se le coloca 702 en el for??
Publicar un comentario