python - 获得数字总和的最有效方法是什么?
问题描述
我必须找到数字总和,直到它是个位数。如果输入是-9999,那么输出应该是-9
(-(9+9+9+9))==-9)
如果输入是 9012 那么输出应该是 3(+(9+0+1+2)==1+2==3))
ps:我已经解决了这个问题,但是负输入给出了错误的输出。我正在使用除以 9 属性(你可以用谷歌搜索)以获得 o(1) 解决方案
我的代码:
def digSum(n):
if (n == 0):
return 0
if (n % 9 == 0):
return 9
else:
(n % 9)
解决方案
只是一个简单的递归应该会有所帮助,将其添加到您的代码中
if n < 0:
return - digSum(abs(n))
推荐阅读
- java - Android - 从 uri 加载照片
- python - 在 OpenSSL 或 Python 中使用给定密钥解密 AES-256 文件
- grails - 无法使用 Java 11 运行 Grails 4.0.1 cli - 在堆栈跟踪中出现空指针错误
- c# - 双斜杠在字符串 C# 中无法正常工作
- angular - app.module.ts 中声明的 Angular 子 html 引用组件
- codeblocks - 我需要在 Code::Blocks 中更改工作区的颜色
- c# - 有没有办法在 c# 中将参数与访问器一起使用
- python - 如何正确使用 Keras 添加层?
- go - 从其他功能使用 mongodb 连接
- sql - SQL:从两列lat,long_更新新列作为几何点