1000! 有几位和具体的值 [ C# 版 ]
A. 1000! 有几位,为什么?
先上代码,一看就明白
int n = 1000; double sum = 0; for (int i = 1; i <= n; i++) { sum = sum + Math.Log10(i); } Console.WriteLine("The '1000! has %{0}'s numbers.\n", (int)sum + 1);
原理说明
如: 1234=1.234*10^3
再引用对数就可以简单的得到数字的位数
Log10(a*10^x) = log10(a)+x
再计算1000!的结果位数
log10(1000!) = log10(1000*999*…2*1)=log10(1000)+log(999)+…+log(1)
B. 1000! 的具体的值
2586 这是一个很大的数了,通过一般的办法是无数计算获取的。
需要使用大数乘法来完成计算,才能正常得到如下结果。
具体的思路是把数字,转换成字符串,再对字符串进行乘法计算,得出结果。
代码见: http://wenku.baidu.com/view/5623fcc14028915f804dc218.html
| 1000! 共 2586 位, 见图。那是相当的壮观呀! |
![]() |
External Link

