fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. ios::sync_with_stdio(false);
  6. cin.tie(nullptr);
  7.  
  8. string s;
  9. cin >> s;
  10.  
  11. vector<int> res;
  12. int n = s.size();
  13. int i = 0; // 当前指针
  14. int len = 1; // 当前子串长度
  15.  
  16. while (i + len <= n) {
  17. // 取子串并转为十进制
  18. int num = 0;
  19. for (int j = 0; j < len; j++) {
  20. num = num * 2 + (s[i + j] - '0');
  21. }
  22.  
  23. res.push_back(num);
  24. i += len;
  25.  
  26. // 长度循环 1~10
  27. len++;
  28. if (len > 10) len = 1;
  29. }
  30.  
  31. // 输出
  32. cout << res.size() << "\n";
  33. for (int i = 0; i < res.size(); i++) {
  34. if (i) cout << " ";
  35. cout << res[i];
  36. }
  37. cout << "\n";
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 5312KB
stdin
0101001001010
stdout
4
0 2 4 9