RosettaCodeData/Task/Digital-root/Visual-Basic-.NET/digital-root.visual

21 lines
672 B
Plaintext

Module Module1
Function DigitalRoot(num As Long) As Tuple(Of Integer, Integer)
Dim additivepersistence = 0
While num > 9
num = num.ToString().ToCharArray().Sum(Function(x) Integer.Parse(x))
additivepersistence = additivepersistence + 1
End While
Return Tuple.Create(additivepersistence, CType(num, Integer))
End Function
Sub Main()
Dim nums = {627615, 39390, 588225, 393900588225}
For Each num In nums
Dim t = DigitalRoot(num)
Console.WriteLine("{0} has additive persistence {1} and digital root {2}", num, t.Item1, t.Item2)
Next
End Sub
End Module