众所周知,1e8
表示的是100000000
对吧
蒟蒻今天用测量时间的工具(可在我专栏内找到),在程序运行结束后输出时间来测试程序的运行速度。但是发现了一个奇怪的现象:
当循环中i的范围是<=1e8
时

程序的运行时间:

但是将1e8替换为循环前设置好的n以后:

运行时间惊人地大幅度下降。

于是我就怀疑是不是1e8出了问题,保留循环中的n,但是在循环内加入了一点东西,见图片:

然后运行时间就上来了,但是多次测试后仍然总是比第一次少大约0.1至0.2秒。

最后,注释掉加入的语句,把n改成100000000
,运行时间与第二次运行的基本无异。
所以,蒟蒻想知道,1e8
的原理到底是什么?这玩意是不是有点耗时?之前用过好多次,现在觉得可以优化好多。