酷代码 AI
菜单
服务商

数字游戏:C++实现计算删数过程中所有新整数的和

以下是解决该问题的C++代码: ```cpp #include <iostream> #include <string> const int MOD = 1e9 + 7; // 计算字符串表示的数字的值 long long strToInt(const std::string& s) { long long res = 0; for (char c : s) { res = (res * 10 + (c - '0')) % MOD; } return res; } int main() { std::string s; std::cin >> s; int n = s.length(); long long ans = 0; // 枚举所有可能的删除区间 for (int i = 0; i < n; ++i) { for (int j = i; j < n; ++j) { std::string newStr = s.substr(0, i) + s.substr(j + 1); ans = (ans + strToInt(newStr)) % MOD; } } // 加上删除所有数字的情况,即0 ans = (ans + 0) % MOD; std::cout << ans << std::endl; return 0; } ``` ### 代码解释: 1. **常量 `MOD`**:定义了取模的值 `1e9 + 7`。 2. **`strToInt` 函数**:将字符串表示的数字转换为整数,并对 `MOD` 取模。 3. **主函数 `main`**: - 读取输入的字符串 `s`。 - 使用两层循环枚举所有可能的删除区间 `[i, j]`。 - 对于每个删除区间,构造新的字符串 `newStr`,并计算其对应的整数值。 - 将新整数的值累加到 `ans` 中,并对 `MOD` 取模。 - 最后加上删除所有数字的情况(即0),并输出结果。 ######[AI问答 | 477点数解答 | 2026-05-16 20:17:53]

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