📄 7390.html
字号:
<html>
<head>
<title>这种问题不能光用回圈</title>
</head>
<body bgcolor="#FFFFFF" vlink="#808080">
<center>
<h1>这种问题不能光用回圈</h1>
</center>
<hr size=7 width=75%>
<hr size=7 width=75%><p>
Posted by <a href="mailto:honey0@tcts1.seed.net.tw">Honey</a> on November 16, 1998 at 18:59:48:<p>
In Reply to: <a href="7389.html">Re: 有谁会作100阶乘</a> posted by Windows NT user on November 16, 1998 at 17:50:38:<p>
这种问题不能光用回圈<br>否则大概到14!就溢位了<br>提供你以下程式给你参考<br>在表单上放 Command1 Text1<br>将Text1属性MultLin设成True<br>属性ScrollBars设成3<p>Option Explicit<p>Private Sub Command1_Click()<br>Dim LngH() As Long<br>Dim IntJ As Integer, IntK As Integer, IntI As Integer<br>Dim IntU As Integer<br>Text1.Text = ""<br>IntK = 1 '/*初设阵列只有一个*/<br>IntU = 1 '/*阵列不为零的使起数, 由于 _<br>经阶乘,后面会有多个零,遍不须列入计算 _<br>以节省时间*/<br>ReDim LngH(1 To IntK)<br>LngH(1) = 1<br>For IntJ = 2 To 100<br>'/*100!*/<br> For IntI = IntK To IntU Step -1<br> LngH(IntI) = LngH(IntI) * IntJ<br> If LngH(IntI) > 100000 Then<br> If UBound(LngH) <= IntI Then<br> ReDim Preserve LngH(1 To IntI + 1)<br> IntK = IntK + 1<br> End If<br> LngH(IntI + 1) = LngH(IntI + 1) + LngH(IntI) \ 100000<br> LngH(IntI) = LngH(IntI) Mod 100000<br> <br> End If<br> Next<br> If LngH(IntU) = 0 Then<br> IntU = IntU + 1<br> End If<br>Next<p>Text1.Text = LTrim$(RTrim$(Str$(LngH(IntK))))<p>For IntI = UBound(LngH) - 1 To 1 Step -1<br>Text1.Text = Text1.Text & Chr(13) + Chr(10) + Format(LTrim$(RTrim$(Str$(LngH(IntI)))), "00000")<br>Next<br>End Sub<p>
<br>
<br><hr size=7 width=75%><p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 7390-->
</ul><!--end: 7390-->
<br><hr size=7 width=75%><p>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -