怎样使得java计算阶乘乘时输出的结果为6!=720

C++上机作业答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C++上机作业答案
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩34页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢以下试题来自:
问答题下列程序中,分别计算1,2,3,…,10的阶乘,并输出计算结果,请将程序补充完整。程序运行结果如下:
10!=3628800
源程序文件代码清单如下:
public class ex01 1
public static void main(String args[])
long 1Factorial;
for(int i=1;i<=10;i++)
for(int j=2;______;j++)
System.out.println(i+"!="+lFactorial);
参考答案lFactorial=1j<=ilFactorial*=j
为您推荐的考试题库
你可能感兴趣的试题
1.问答题 参考答案pack()event.paramString()2
热门相关试卷
最新相关试卷月光软件站 - 编程文档 - VB语言 - 大数阶乘的计算(六)
本类阅读TOP10
??????????
大数阶乘的计算(六)
作者:未知 来源:月光软件站
加入时间: 月光软件站
前些时间写的关于大整数的阶乘计算,效率总是再难以提高:(,,,)
今日突然想到
n!=1*2*3*....*n&&&& →& & lg(n!)=lg(1*2*3*....*n)=lg(1)+lg(2)+ lg(3)+..+lg(n)&&&& →& & n!=10^(lg(1)+lg(2)+ lg(3)+..+lg(n))
考虑到当n很大时,输出具体的结果并无多大实际意义,遂另写代码如下:
Sub calcfactorial(ByVal num As Long, Optional ByRef POWER As String, Optional ByRef FIRSTNUM As String)Dim I As Long, TEMP As Double, temp2 As Long, STIME As SingleTEMP = 0temp2 = 0STIME = TimerFor I = 1 To numTEMP = TEMP + Log(I) / Log(10)If TEMP & 1000000 Thentemp2 = temp2 + 1TEMP = TEMP - 1000000End IfNextPOWER = Format(Int(TEMP + 1), "000000")TEMP = TEMP - Val(POWER)POWER = temp2 & POWERIf Val(POWER) & 10 ^ 6 Then POWER = Val(POWER)FIRSTNUM = Left(Replace(10 ^ (TEMP), ".", ""), 10)Debug.Print Right(Space(9) & num, 9) & "! : 用时 " & Right(Space(8) & Format(Timer - STIME, "0.00000"), 8) & " 秒, 结果 " & Right(Space(10) & POWER, 10) & " 位,前10位为 " & FIRSTNUMEnd Sub
Private Sub Command1_Click()Dim I As Long, J As LongFor J = 2 To 7For I = 1 To 10calcfactorial I * 10 ^ JNextDebug.PrintNextEnd Sub
输出结果:
'&&&&& 100! : 用时& 0.00000 秒, 结果&&&&&&& 158 位,前10位为 '&&&&& 200! : 用时& 0.00000 秒, 结果&&&&&&& 375 位,前10位为 '&&&&& 300! : 用时& 0.00000 秒, 结果&&&&&&& 615 位,前10位为 '&&&&& 400! : 用时& 0.00000 秒, 结果&&&&&&& 869 位,前10位为 '&&&&& 500! : 用时& 0.00000 秒, 结果&&&&&& 1135 位,前10位为 '&&&&& 600! : 用时& 0.00000 秒, 结果&&&&&& 1409 位,前10位为 '&&&&& 700! : 用时& 0.01563 秒, 结果&&&&&& 1690 位,前10位为 '&&&&& 800! : 用时& 0.00000 秒, 结果&&&&&& 1977 位,前10位为 '&&&&& 900! : 用时& 0.00000 秒, 结果&&&&&& 2270 位,前10位为 '&&&& 1000! : 用时& 0.00000 秒, 结果&&&&&& 2568 位,前10位为 ''&&&& 1000! : 用时& 0.00000 秒, 结果&&&&&& 2568 位,前10位为 '&&&& 2000! : 用时& 0.01563 秒, 结果&&&&&& 5736 位,前10位为 '&&&& 3000! : 用时& 0.00000 秒, 结果&&&&&& 9131 位,前10位为 '&&&& 4000! : 用时& 0.00000 秒, 结果&&&&& 12674 位,前10位为 '&&&& 5000! : 用时& 0.00000 秒, 结果&&&&& 16326 位,前10位为 '&&&& 6000! : 用时& 0.01563 秒, 结果&&&&& 20066 位,前10位为 '&&&& 7000! : 用时& 0.00000 秒, 结果&&&&& 23878 位,前10位为 '&&&& 8000! : 用时& 0.00000 秒, 结果&&&&& 27753 位,前10位为 '&&&& 9000! : 用时& 0.01563 秒, 结果&&&&& 31682 位,前10位为 '&&& 10000! : 用时& 0.00000 秒, 结果&&&&& 35660 位,前10位为 ''&&& 10000! : 用时& 0.00000 秒, 结果&&&&& 35660 位,前10位为 '&&& 20000! : 用时& 0.00000 秒, 结果&&&&& 77338 位,前10位为 '&&& 30000! : 用时& 0.04688 秒, 结果&&&& 121288 位,前10位为 '&&& 40000! : 用时& 0.01563 秒, 结果&&&& 166714 位,前10位为 '&&& 50000! : 用时& 0.03125 秒, 结果&&&& 213237 位,前10位为 '&&& 60000! : 用时& 0.01563 秒, 结果&&&& 260635 位,前10位为 '&&& 70000! : 用时& 0.03125 秒, 结果&&&& 308760 位,前10位为 '&&& 80000! : 用时& 0.03125 秒, 结果&&&& 357507 位,前10位为 '&&& 90000! : 用时& 0.03125 秒, 结果&&&& 406799 位,前10位为 '&& 100000! : 用时& 0.04688 秒, 结果&&&& 456574 位,前10位为 ''&& 100000! : 用时& 0.04688 秒, 结果&&&& 456574 位,前10位为 '&& 200000! : 用时& 0.10938 秒, 结果&&&& 973351 位,前10位为 '&& 300000! : 用时& 0.12500 秒, 结果&&& 1512852 位,前10位为 '&& 400000! : 用时& 0.23438 秒, 结果&&& 2067110 位,前10位为 '&& 500000! : 用时& 0.21875 秒, 结果&&& 2632342 位,前10位为 '&& 600000! : 用时& 0.35938 秒, 结果&&& 3206318 位,前10位为 '&& 700000! : 用时& 0.40625 秒, 结果&&& 3787566 位,前10位为 '&& 800000! : 用时& 0.43750 秒, 结果&&& 4375040 位,前10位为 '&& 900000! : 用时& 0.54688 秒, 结果&&& 4967957 位,前10位为 '& 1000000! : 用时& 0.54688 秒, 结果&&& 5565709 位,前10位为 ''& 1000000! : 用时& 0.51563 秒, 结果&&& 5565709 位,前10位为 '& 2000000! : 用时& 1.10938 秒, 结果&&
位,前10位为 '& 3000000! : 用时& 1.56250 秒, 结果&&
位,前10位为 '& 4000000! : 用时& 1.93750 秒, 结果&&
位,前10位为 '& 5000000! : 用时& 2.07813 秒, 结果&&
位,前10位为 '& 6000000! : 用时& 2.53125 秒, 结果&&
位,前10位为 '& 7000000! : 用时& 2.90625 秒, 结果&&
位,前10位为 '& 8000000! : 用时& 3.35938 秒, 结果&&
位,前10位为 '& 9000000! : 用时& 3.75000 秒, 结果&&
位,前10位为 ' ! : 用时& 4.20313 秒, 结果&&
位,前10位为 '' ! : 用时& 4.17188 秒, 结果&&
位,前10位为 ' ! : 用时& 8.46875 秒, 结果&
位,前10位为 ' ! : 用时 14.59375 秒, 结果&
位,前10位为 ' ! : 用时 16.75000 秒, 结果&
位,前10位为 ' ! : 用时 23.31250 秒, 结果&
位,前10位为 ' ! : 用时 27.28125 秒, 结果&
位,前10位为 ' ! : 用时 30.10938 秒, 结果&
位,前10位为 ' ! : 用时 34.85938 秒, 结果&
位,前10位为 ' ! : 用时 37.65625 秒, 结果&
位,前10位为 '! : 用时 46.21875 秒, 结果&
位,前10位为
相关文章:相关软件:
┊┊┊┊┊┊┊┊┊┊┊
┊┊┊┊┊┊┊┊┊┊┊
┊┊┊┊┊┊┊┊┊┊┊n的阶乘问题1、n的阶乘定义为n!=1*2*3*……*n 如3!=6通常最后会有很多0,如5!=120 最后有一个0,现在统计n!去除末尾的0后,最后k位是多少?如果n!不止k位,则输出最后k位,如果不足k位,则将剩下的全部输出输入n,k输入:7,2 输出:04
韻酭儩酼00A04
program chy1;const maxn=1000;var a:array[0..maxn]i,j,n,e,m,t,s,q:beginreadln(n);a[0]:=1;for i:=1 to n do begine:=0;for j:=0 to a[maxn] do begine:=e+a[j]*i;a[j]:=e mod 10;e:=e div 10;while e>0 dobegin a[maxn]:=a[maxn]+1; a[a[maxn]]:=e mod 10; e:=e div 10;for i:=a[maxn] downto 0 do write(a[i]); s:=a[maxn]; t:=0; repeat
if a[t]=0 then s:=s-1;
until a[t]0;
i:=s+t downto t do write(a[i]);
for i:=q downto t do
write(a[i]); readlnend.
为您推荐:
其他类似问题
扫描下载二维码matlab与控制系统仿真实验中n的阶乘 怎么打_百度知道}

我要回帖

更多关于 阶乘计算公式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信