gpt4 book ai didi

python - 查找整个序列的数字总和的有效方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:09:07 25 4
gpt4 key购买 nike

在下面的代码片段中,我找到区间 [a,b] 之间所有奇数的数字总和

def SumOfDigits(a, b):
s = 0
if a%2 == 0:
a+=1
if b%2 == 0:
b-=1
for k in range(a,b+1,2):
s+= sum(int(i) for i in list(str(k)))
return s

是否有有效的方法来完成同样的任务?导致明确公式的任何模式。

我确实在 https://oeis.org 中搜索过

最佳答案

避免与字符串相互转换的所有开销,直接使用数字本身:

def SumOfDigits(a, b):
result = 0
for i in range(a + (not a % 2), b + 1, 2):
while i:
result += i % 10
i //= 10
return result

关于python - 查找整个序列的数字总和的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com