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(); } } }
Porque se le coloca 702 en el for??
ResponderEliminar