酷代码 AI
菜单
服务商

数字游戏:计算删除子串后新整数总和的 Python 实现

### 📝思路分析 本题要求计算从一个大整数中删除一个非空连续数字子串后得到的所有新整数的和,并对 \(10^9 + 7\) 取模。可以通过枚举所有可能的删除子串,计算每次删除后得到的新整数,最后将这些新整数相加。 ### 💻代码实现 ```python MOD = 10**9 + 7 # 读取输入的大整数 s = input() n = len(s) total = 0 # 枚举所有可能的删除子串 for i in range(n): for j in range(i, n): # 生成删除子串后的新整数 new_num = s[:i] + s[j + 1:] if new_num == '': new_num = '0' total = (total + int(new_num)) % MOD print(total) ``` ### 📋代码解释 1. **定义取模常量**:`MOD = 10**9 + 7` 用于对结果取模,避免结果过大。 2. **读取输入**:使用 `input()` 读取大整数,并存储为字符串 `s`。 3. **枚举删除子串**:使用两层循环枚举所有可能的删除子串,外层循环 `i` 表示子串的起始位置,内层循环 `j` 表示子串的结束位置。 4. **生成新整数**:通过字符串拼接 `s[:i] + s[j + 1:]` 得到删除子串后的新整数。如果新整数为空,则将其设为 `'0'`。 5. **累加结果**:将新整数转换为整数并累加到 `total` 中,同时对 `MOD` 取模。 6. **输出结果**:最后输出 `total`。 ### ######[AI问答 | 435点数解答 | 2026-05-16 20:16:59]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]