没考虑效率,还好只算到1000…… static void Main(string[] args) { for (int i = 1; i <= 1000; i++) { if (i == GetGenesSum(i)) Console.WriteLine(i); } Console.ReadKey(); } static int GetGenesSum(int n) { if (n <= 0) return 0; List<int> list = new List<int>(); for (int i = 1; i <= n; i++) { if (n % i == 0) list.Add(i); } int result = 0; for (int i = 0; i < list.Count - 1; i++) result += list[i]; return result; }
{
for (int i = 1; i <= 1000; i++)
{
if (i == GetGenesSum(i))
Console.WriteLine(i);
}
Console.ReadKey();
}
static int GetGenesSum(int n)
{
if (n <= 0)
return 0;
List<int> list = new List<int>();
for (int i = 1; i <= n; i++)
{
if (n % i == 0)
list.Add(i);
}
int result = 0;
for (int i = 0; i < list.Count - 1; i++)
result += list[i];
return result;
}