首页 > 解决方案 > 获得数字总和的最有效方法是什么?

问题描述

我必须找到数字总和,直到它是个位数。如果输入是-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) 

标签: pythonmath

解决方案


只是一个简单的递归应该会有所帮助,将其添加到您的代码中

if n < 0:
  return - digSum(abs(n))

推荐阅读