Python和C中的函数相同,结果不同

2024-09-30 02:19:20 发布

您现在位置:Python中文网/ 问答频道 /正文

作为更大的模拟的一部分,我用Python编写了以下函数:

#!/usr/bin/python
counter = 1
while (counter < 10000):
    oldpa = .5
    t = 1
    while (t < counter):
        newpa = ((oldpa * t) + 1) / (t + 1)
        t = t + 1
        oldpa = newpa
    counter = counter + 1
    print str(counter) + "\t" + str(oldpa)

然后,我开始用C重写模拟,这样它运行得更快(同时也给自己一个借口花时间学习C语言)。这是上面函数的C版本。在

^{pr2}$

现在,有趣的是。当我运行Python函数时,结果收敛到0.999950,但是当我运行C函数时,它收敛到0.999883。对于我的模拟来说,这个差别实际上可以忽略不计,但是我仍然想知道为什么我得到了不同的结果


Tags: 函数版本binusrcounter时间print借口

热门问题