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> |