Решение задачи Первоклассная задача с Mccme

С пояснением   Просмотров: 51


Преподаватель по программированию некоего Центра для одаренных детей, узнав, что его ученики знают математику 3-го класса на 97.001 процентов, решил проверить их знания по курсу математики 1-го класса. Для этого он взял за основу популярнейшую у математиков 1-го класса задачу. Первоклассник должен был продолжить следующую последовательность рядов:

1

11

21

1211

111221

312211

13112221

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, x;
    cin >> n >> x;
    string s = to_string(n);
    vector<string> a;
    a.push_back(s);
    while(a.size() < x){
        s = a[a.size() - 1];
        string res = "";
        while(s.size() > 1){
            int i = 1;
            while(s[0] == s[i]){
                ++i;
            }
            res += to_string(i);
            res += s[0];
            s.erase(0, i);
        }
        if(s.size())
            res += "1", res += s[0];
        a.push_back(res);
    }
    cout << a[a.size() - 1];
    return 0;
}

         

Администратор Photo Автор: Администратор


Каждая строчка описывает предыдущую.


Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться