32 lines
704 B
Text
32 lines
704 B
Text
' FB 1.05.0 Win64
|
|
' Cache n ^ n for the digits 1 to 9
|
|
' Note than 0 ^ 0 specially treated as 0 (not 1) for this purpose
|
|
Dim Shared powers(1 To 9) As UInteger
|
|
For i As UInteger = 1 To 9
|
|
Dim power As UInteger = i
|
|
For j As UInteger = 2 To i
|
|
power *= i
|
|
Next j
|
|
powers(i) = power
|
|
Next i
|
|
|
|
Function isMunchausen(n As UInteger) As Boolean
|
|
Dim p As UInteger = n
|
|
Dim As UInteger digit, sum
|
|
While p > 0
|
|
digit = p Mod 10
|
|
If digit > 0 Then sum += powers(digit)
|
|
p \= 10
|
|
Wend
|
|
Return n = sum
|
|
End Function
|
|
|
|
Print "The Munchausen numbers between 0 and 500000000 are : "
|
|
For i As UInteger = 0 To 500000000
|
|
If isMunchausen(i) Then Print i
|
|
Next
|
|
|
|
Print
|
|
Print "Press any key to quit"
|
|
|
|
Sleep
|