-1

对于以下程序

def sum_naturals(n):
    total, k = 0, 1
    while k <= n:
        total, k = total + k, k + 1
    return total

sum_naturals(5000000000000000000000)

从过去的 20 分钟开始,我正在等待处理器 intel t1400 1.83 ghz 的输出。

我的问题是,

python如何处理这么大的数据,因为我的处理器只有32位寄存器?C程序会很早就给出错误?

4

1 回答 1

0

Python 的 int 类型支持任意大的数字。在内部,有两种表示形式:用于小数字的单个机器 int,以及用于较大数字的 int 数组(以及单独存储的符号)。该数组表示大基数中的数字的位数。

于 2013-01-19T18:55:25.430 回答