Advertisement
OIQ

Untitled

OIQ
Oct 3rd, 2021
784
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. std::string findNTh(int x, int n) {
  5.     std::string str = std::to_string(x);
  6.     if (n == 1) {
  7.         return str;
  8.     }
  9.  
  10.     std::string prev = str;
  11.  
  12.     for (int iter = 2; iter <= n; iter++) {
  13.         // добавим символ, чтобы отдельно не обрабатывать случай после выхода из цикла
  14.         prev = prev + '&';
  15.         int count = 1;
  16.         std::string next;
  17.         for (int i = 1; i < prev.size(); i++) {
  18.             if (prev[i] != prev[i-1]) {
  19.                 next += static_cast<char>('0' + count);
  20.                 next += prev[i - 1];
  21.                 count = 1;
  22.             } else {
  23.                 count++;
  24.             }
  25.         }
  26.         prev = next;
  27.     }
  28.  
  29.     return prev;
  30. }
  31.  
  32. int main() {
  33.     int x, n;
  34.     std::cin >> x >> n;
  35.  
  36.     std::cout << findNTh(x, n);
  37.  
  38.     return 0;
  39. }
  40.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement