疑似本题std有误
本帖涉及题目做法
考虑天体运动这一物理过程,根据题目 每0.01秒钟刷新一次 的条件,显然这道题使用微元法。
更加具体地说,微元法就是将这整个物理过程分成很多个小段,对于每个小段,可以近似认为每个天体进行匀变速直线运动。
根据匀变速直线运动特性可知,对于每一小段时间 dt ,其位移 dx 应当满足
dx=v dt+21a dt2
从代码实现的角度来讲,应当为:
x += v * dt + 0.5 * a * dt * dt;
v += a * dt;
但是根据笔者的测试,以及 @Vanilla_chan 的题解可以知道,std使用的公式是
dx=v∗dt
从代码实现的角度来讲,为:
v += a * dt;
x += v * dt;
可见std认为在每一小段中进行的是匀速直线运动。
因此疑似本题std有误。
附:
提交记录(匀变速直线运动)
提交记录(匀速直线运动std)
提交记录(匀速直线运动(另类))