对数字的数字求和:一种有效的方法
要找到数字中的数字之和,最有效的方法是利用纯整数运算。以下 Python 代码展示了这种技术:
def sum_digits(n): s = 0 while n: s += n % 10 n //= 10 return s
这里,我们重复应用模 10 来提取最右边的数字并将其添加到总和中。通过整数除以 10,我们转移到下一个数字。
更快的版本使用单个赋值语句:
def sum_digits3(n): r = 0 while n: r, n = r + n % 10, n // 10 return r
速度比较表明使用整数运算明显快于将数字转换为字符串并使用字符串操作。
%timeit sum_digits(n) # Pure integer operations 1000000 loops, best of 3: 479 ns per loop %timeit sum_digits2(n) # Integer operations with divmod 1000000 loops, best of 3: 716 ns per loop %timeit sum(map(int, str(n))) # String manipulation 1000000 loops, best of 3: 1.42 us per loop %timeit sum([int(digit) for digit in str(n)]) # List comprehension 100000 loops, best of 3: 1.52 us per loop %timeit sum(int(digit) for digit in str(n)) # Generator expression 100000 loops, best of 3: 2.04 us per loop
因此,利用整数运算是对数字求和的最有效方法一个数字。
以上是对数字进行求和的最有效方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!