#include <iostream>
using namespace std;
int getSum(string str, int begin, int len) {
int sum = 0;
while (begin < len) {
sum += str.at(begin++) - '0';
}
return sum;
}
void findSubStr(string str) {
int strlen = str.length();
int sublen = strlen;
while (sublen > 1) { //长度控制
int front = 0;
int sublenTmp = sublen;
int sum = getSum(str, front, sublen);
while (sublenTmp <= strlen) { //范围控制
if (sum % 3 == 0) {
// cout << sum << ' ';
//args2是长度
cout << str.substr(front, sublenTmp - front) << endl;
}
if (sublenTmp + 1 <= strlen) {
sum -= str.at(front++) - '0';
sum += str.at(sublenTmp++) - '0';
} else {
break;
}
}
sublen--;
}
}有N个数,组成的字符串,如012345,求出字串和取MOD3==0的子串,如012 12 123 45。
最新推荐文章于 2021-10-31 18:18:44 发布
本文介绍了一种用于寻找字符串中所有子串,并计算这些子串的数字字符之和的算法。通过遍历字符串,利用滑动窗口的思想,实现高效求和并判断是否能被3整除。该算法适用于字符串处理及数学计算相关的编程任务。
409

被折叠的 条评论
为什么被折叠?



