在 Python 中查找作为字符串给出的数字的所有子字符串的总和的程序
假设我们有一个字符串格式的数字,我们必须找到 s 的所有子字符串的总和。答案可能很大,所以返回结果模 10^9+7。
因此,如果输入类似于 s = "268",那么输出将为 378,因为子字符串为 "2"、"6"、"8"、"26"、"68" 和 "268" 总和为 378 .
示例
让我们看看以下实现以获得更好的理解 -
def solve(s):M = 10 ** 9 + 7
sum_val = 0
B = 1
res = 0
for i in range(len(s) - 1, -1, -1):
res = (res + int(s[i]) * B * (i + 1)) % M
sum_val -= int(s[i])
B = (B * 10 + 1) % M
return res
s = "268"
print(solve(s))
输入
"268"输出结果
378
以上是 在 Python 中查找作为字符串给出的数字的所有子字符串的总和的程序 的全部内容, 来源链接: utcz.com/z/343743.html