Perfect numbers: Difference between revisions

Content added Content deleted
(Factor)
(Add lambda version)
Line 161: Line 161:


return ((sum == 2 * num || (sum - num == num)));
return ((sum == 2 * num || (sum - num == num)));
}
</lang>
===Version using Lambdas, will only work from version 3 of C# on===
<lang csharp>
static void Main(string[] args)
{
Console.WriteLine("Perfect numbers from 1 to 33550337:");

for (int x = 0; x < 33550337; x++)
{
if (IsPerfect(x))
Console.WriteLine(x + " is perfect.");
}

Console.ReadLine();
}

static bool IsPerfect(int num)
{
return Enumerable.Range(1, num - 1).Sum(n => num % n == 0 ? n : 0 ) == num;
}
}
</lang>
</lang>