1000×999×998×997×996…5×4×3×2×1怎么算?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/28 00:08:19
1000×999×998×997×996…5×4×3×2×1怎么算?
x[oT.7kǬpRT `\{l4ܹ)PA `Hh$Fjz IϷ3c& y^;k=RRY~$GՒ{d_-WKzmGK?sznٶ{vߞooɵ{7Wvq7nl<էwv{Drcj.w?te< g 3L8pR;wx|pwǧJW=_UkFþ'C[etю184Rt. _WƣOV^,~_w.+=Az'X^9W+Z[{T{VS`})X꾽rΥYEō]a{LbNU'/veR+YK#//5^]}w>gǝ݀-Vj]dAȍ;l:wmM๷'V珐Ak/_lCdΙbrs>+qyT*ɘh"J'g71hrGw J;LL*LZ`)6R#Z|2>&\L*@)dKnu}=OZ;Cv]OMTm QcìhRՃ6!jIP={4=ɺLTo1D} m@F VCdr)' l1$0hAMOQ[,EAuLCKҞ 5^<<+#aȡ <$N,x$x9Ia0&mU.9$GfGUDxf )P #Y f@X38E8P=B}9p2A YdQe Љ04dApP%D$\>,g#s1܁#/ș9X7nTҦp+2jy9<VZqȑ/ޔL h ͕ 8-c$\:2beL+:9d Q\R Lƻ40.? -;^%(3-)89Sq!A$)|s1+=bEPPڑ"4@p ] !4$0=3V6DD1Ϟ}ב

1000×999×998×997×996…5×4×3×2×1怎么算?
1000×999×998×997×996…5×4×3×2×1怎么算?

1000×999×998×997×996…5×4×3×2×1怎么算?
不限位数和长度的乘法,1000的阶乘仅需20秒[VB.NET]
CODE:
Public Function ChengFa(ByVal strBeiCheng As String, ByVal strCheng As String) As String
Dim BeiCheng(), Cheng(), JI() As Byte '定义数组 被乘数、乘数、积
Dim intCheng As Integer '乘数长度
Dim intBeiCheng As Integer '被乘数长度
Dim intJi As Integer '积的长度
Dim strJI As String '积的文本格式
Dim i As Integer
Dim j As Integer
Dim intWeiShu As Integer '所得积的位数,过程中还用于表示位数
intBeiCheng = Len(strBeiCheng) '取被乘数的位数
intCheng = Len(strCheng) '取乘数的位数
intJi = intBeiCheng + intCheng '确定结果的最大位数
ReDim BeiCheng(intBeiCheng), Cheng(intCheng), JI(intJi) '重定义数组
For i = 1 To intBeiCheng
BeiCheng(i) = Mid(strBeiCheng, intBeiCheng - i + 1, 1) '给被乘数数组的每一位赋值
If Not IsNumeric(BeiCheng(i)) Then '检查输入的合法性
Return "被乘数输入错误"
End If
Next i
For i = 1 To intCheng
Cheng(i) = Mid(strCheng, intCheng - i + 1, 1) '给乘数数组的每一位赋值
If Not IsNumeric(Cheng(i)) Then '检查输入的合法性
Return "乘数输入错误"
End If
Next i
For i = 1 To intJi '结果数组积初始化
JI(i) = 0
Next i
For i = 1 To intBeiCheng '取被乘数中的每一位
For j = 1 To intCheng '取乘数中的每一位
JI(j + i - 1) = JI(j + i - 1) + BeiCheng(i) * Cheng(j)
'相乘结果累加到c中的相应位
strJI = JI(j + i - 1)
intWeiShu = 0
Do While strJI >= 10 'c中的每一位进位检查
JI(j + i + intWeiShu - 1) = strJI Mod 10 '本位处理
JI(j + i + intWeiShu) = JI(j + i + intWeiShu) + strJI \ 10
'进位处理
strJI = JI(j + i + intWeiShu)
intWeiShu = intWeiShu + 1
Loop
Next j
Next i
strJI = ""
For intWeiShu = intJi To 1 Step -1
If JI(intWeiShu) 0 Then Exit For '去掉结果中的前导0
Next intWeiShu
intWeiShu = IIf(intWeiShu < 1, 1, intWeiShu)
For i = intWeiShu To 1 Step -1
strJI = strJI + Trim(Str(JI(i)))
Next i
Return strJI
End Function
Public Function JeiCheng(ByVal strShu As String) As String
Dim intI As Integer
Dim strTemp As String = "1"
For intI = 1 To CInt(strShu)
strTemp = ChengFa(strTemp, intI)
Next
Return strTemp
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
Label1.Text = JeiCheng("1000")
Me.Cursor = System.Windows.Forms.Cursors.Default
End Sub
1000!=402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000