我很好奇,googolplex是(10^10)^100
(更正:10^(10^100)
)我想计算这个。我怎么能做到这一点?
使用以下代码在C#
中:
Console.WriteLine(Math.Pow(Math.Pow(10, 10), 100));
明确产生以下结果:
Infinity
此外,googolplex是Math.Pow(Math.Pow(10, 10), 100)
还是Math.Pow(10, Math.Pow(10, 100))
?
据我所知,即使这样的事情可以计算(我确信它不在您的日常计算机上),也很可能需要无限的时间才能完成。
我真的需要更多...
答案 0 :(得分:15)
如果您只想显示该值,那么这应该是您验证它的时间长度是正确的:
Console.Write("1");
while (true) {
Console.Write("0");
}
或者,如果您想要更具体,我们可以在没有任何bignum库的情况下执行此操作。
Console.Write("1");
const int BIL = 1000000000;
for (int i0=0; i0<10; i0++)
for (int i1=0; i1<BIL; i1++)
for (int i2=0; i2<BIL; i2++)
for (int i3=0; i3<BIL; i3++)
for (int i4=0; i4<BIL; i4++)
for (int i5=0; i5<BIL; i5++)
for (int i6=0; i6<BIL; i6++)
for (int i7=0; i7<BIL; i7++)
for (int i8=0; i8<BIL; i8++)
for (int i9=0; i9<BIL; i9++)
Console.Write("0");
答案 1 :(得分:4)
要写出googolplex,它将占用比我们在地球上更多的表面积,并且每个零可能是原子的大小。
查看关于googolplex大小的excellent article。
FTA:
按照今天的速度,该计划将持续3.125 * 10 ^ 85年。
答案 2 :(得分:1)
如果你的目标稍微适度BigInteger数据类型,它的API就是答案。