Писать длинную арифметику (особенно деление и умножение) очень противное занятие... Я бы попытался обойтись без этого.
Const ln10 = 2.30258509299405
Private Sub Main()
Dim n As Long, i As Long, m As Double, e As Long, t As Byte
n = CLng(InputBox("n:"))
m = 1
e = 0
Do
m = m * n
t = Int(Log(m) / ln10)
e = e + t
For i = 1 To t
m = m / 10
Next i
n = n - 1
Loop Until n = 1
MsgBox Str(m) & " e" & Str(e), vbOKOnly + vbInformation
End Sub
Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 84