我计算的结果是
50!=30414093201713378043612608166064768844377641568960512000000000000
我的JAVA程序
import java.math.*
import java.io.*
public class Test
{
public static void main(String[] args)
{
BigInteger bi1=new BigInteger("1")
for(int i=2i<=50i++)
bi1=bi1.multiply(new BigInteger(String.valueOf(i)))
try{
FileOutputStream fos=new FileOutputStream("result.txt")
PrintStream ps=new PrintStream(fos)
ps.println(bi1)
}
catch(Exception e)
{
}
System.out.println(bi1.toString().length())
}
}
刚才看错了是50的阶乘
3.0414093201713378043612608166065e+64
阶乘指从1乘以2乘以3乘以4一直乘到所要求的数.
例如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘.例如所要求的数是6,则阶乘式是1×2×3×……×6,得到的积是720,720就是6的阶乘.例如所要求的数是n,则阶乘式是1×2×3×……×n,设得到的积是x,x就是n的阶乘.
在表达阶乘时,就使用“!”来表示.如x的阶乘,就表示为x!
如:n!=n×(n-1)×(n-2)×(n-3)×...×1
阶乘的另一种表示方法:(2n-1)!
当n=2时,3!=3×1=3
当n=3时,5!=5×3×1=15
当n=4时,7!=7×5×3×1=105
...(以此类推)
看个位有多少个以5和0为尾数的数就行了,共5个5:5,15,25,35,45,
5个0:10,20,30,40,50,
其中25,50比较特殊,乘积尾数会得到2个0,
应该是共5+5+2=12个
欢迎分享,转载请注明来源:优选云