RosettaCodeData/Task/Munchausen-numbers/VBScript/munchausen-numbers.vb
2023-07-01 13:44:08 -04:00

25 lines
640 B
VB.net

for i = 1 to 5000
if Munch(i) Then
Wscript.Echo i, "is a Munchausen number"
end if
next
'Returns True if num is a Munchausen number. This is true if the sum of
'each digit raised to that digit's power is equal to the given number.
'Example: 3435 = 3^3 + 4^4 + 3^3 + 5^5
Function Munch (num)
dim str: str = Cstr(num) 'input num as a string
dim sum: sum = 0 'running sum of n^n
dim i 'loop index
dim n 'extracted digit
for i = 1 to len(str)
n = CInt(Mid(str,i,1))
sum = sum + n^n
next
Munch = (sum = num)
End Function