首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个数字的数字之和

一个数字的数字之和
EN

Stack Overflow用户
提问于 2013-02-18 15:41:06
回答 10查看 264.5K关注 0票数 102

如果我想找到一个数字的数字之和,即:

  • 输入:932
  • 输出:14,即(9 + 3 + 2)

最快的方法是什么?

我本能地做了:

代码语言:javascript
运行
复制
sum(int(digit) for digit in str(number))

我在网上发现了这个:

代码语言:javascript
运行
复制
sum(map(int, str(number)))

哪种方法最适合用于速度,还有其他更快的方法吗?

EN

Stack Overflow用户

发布于 2020-05-23 12:33:38

这里有一个没有任何循环或递归的解决方案,但只适用于非负整数(Python3):

代码语言:javascript
运行
复制
def sum_digits(n):
    if n > 0:
        s = (n-1) // 9    
        return n-9*s
    return 0
票数 0
EN
查看全部 10 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14939953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档