17 lines
695 B
VB.net
17 lines
695 B
VB.net
Module Module1
|
|
|
|
Function ProperDivisors(number As Integer) As IEnumerable(Of Integer)
|
|
Return Enumerable.Range(1, number / 2).Where(Function(divisor As Integer) number Mod divisor = 0)
|
|
End Function
|
|
|
|
Sub Main()
|
|
For Each number In Enumerable.Range(1, 10)
|
|
Console.WriteLine("{0}: {{{1}}}", number, String.Join(", ", ProperDivisors(number)))
|
|
Next
|
|
|
|
Dim record = Enumerable.Range(1, 20000).Select(Function(number) New With {.Number = number, .Count = ProperDivisors(number).Count()}).OrderByDescending(Function(currentRecord) currentRecord.Count).First()
|
|
Console.WriteLine("{0}: {1}", record.Number, record.Count)
|
|
End Sub
|
|
|
|
End Module
|