Option Explicit
On Error Resume Next 'Se fa errore, non notifica nulla
Dim n,elev
n = InputBox("Inserisci un numero")
'La variabile n è un numero
elev=1
'Le volte dell'elevamento a potenza è 1
If CDbl(n)/2 <> Int(CDbl(n)/2) Then
'Se n/2 è diverso dalla forma intera
'di n/2 (dispari), allora
n = n + 1
'Aggiunge 1 per rendere pari il numero
End If
Do Until n = 2
'Esegue fino a quando n è uguale a 2
wscript.echo(n & " : 2 è uguale a " & CDbl(n/2))
'Visualizza il risultato
n = CInt(n/2)
'Divide per due n
elev = elev+1
'Incrementa l'elevamento
Loop
wscript.echo("2 ^ " & elev & " = " & CInt(n)^elev)
'Visualizza in un messaggio l'elevamento effettuato
Potrebbe sembrare difficile, ma invece si basa su un principio facilissimo. Il trucco per capire è quello di rileggere più volte, magari lentamente (e ragionarci).