45 lines
1.1 KiB
Plaintext
45 lines
1.1 KiB
Plaintext
Function IsHumble(i As Integer) As Boolean
|
|
If i <= 1 Then Return True
|
|
If i Mod 2 = 0 Then Return IsHumble(i \ 2)
|
|
If i Mod 3 = 0 Then Return IsHumble(i \ 3)
|
|
If i Mod 5 = 0 Then Return IsHumble(i \ 5)
|
|
If i Mod 7 = 0 Then Return IsHumble(i \ 7)
|
|
Return False
|
|
End Function
|
|
|
|
Const limiteMax = 7574
|
|
Dim As Integer humble(10) 'As New Dictionary(Of Integer, Integer)
|
|
Dim As Integer cont = 0, num = 1
|
|
|
|
Print "Los 50 primeros n£meros de Humble son:";
|
|
While cont < limiteMax
|
|
If IsHumble(num) Then
|
|
Dim As Integer longitud = Len(Str(num))
|
|
If longitud > 10 Then
|
|
Exit While
|
|
End If
|
|
If humble(longitud) Then
|
|
humble(longitud) += 1
|
|
Else
|
|
humble(longitud) = 1
|
|
End If
|
|
If cont < 50 Then
|
|
If cont Mod 10 = 0 Then Print
|
|
Print Using " ###"; num;
|
|
End If
|
|
cont += 1
|
|
End If
|
|
num += 1
|
|
Wend
|
|
|
|
Print !"\n\nDe los primeros"; cont; " n£meros de Humble:"
|
|
num = 1
|
|
While num < cont
|
|
If humble(num) Then
|
|
Print Using " #### tienen ## digitos"; humble(num); num
|
|
num += 1
|
|
Else
|
|
Exit While
|
|
End If
|
|
Wend
|