#include <iostream> #include <string> using namespace std; int main() { string number; cin >> number; int n = number.length(); int count = 0; // 枚举切割点 for (int i = 0; i < n-1; i++) { // 左部分最后一位 int lastDigit1 = number[i] - '0'; // 右部分第一位 int firstDigit2 = number[n-1] - '0'; // 判断最后一位和第一位之和是否为偶数 if ((lastDigit1 + firstDigit2) % 2 == 0) { count++; } } // 输出合法的切割方案数 cout << count << endl; return 0; }
思路:按每一位枚举就可以啦,。。 两部分的数字,我们不需要考虑前导0 只需要看每部分最后结尾的数字 加起来 是否能被2整除即可,就能确定是不是 偶数了