如果我想找到一个数字的数字之和,即:
93214,即(9 + 3 + 2)最快的方法是什么?
我本能地做了:
sum(int(digit) for digit in str(number))我在网上发现了这个:
sum(map(int, str(number)))哪种方法最适合用于速度,还有其他更快的方法吗?
发布于 2020-05-23 12:33:38
这里有一个没有任何循环或递归的解决方案,但只适用于非负整数(Python3):
def sum_digits(n):
if n > 0:
s = (n-1) // 9
return n-9*s
return 0https://stackoverflow.com/questions/14939953
复制相似问题