Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- string a[50];
- int al[50] = {0};
- int dva(vector<int> a){
- int carry = 0;
- int b = 2;
- int n = 0;
- while(carry == 0){
- for (int i=(int)a.size()-1; i>=0; --i) {
- long long cur = a[i] + carry * 1ll * 10;
- a[i] = int (cur / b);
- carry = int (cur % b);
- }
- if(carry == 0) n++;
- while (a.size() > 1 && a.back() == 0) a.pop_back();
- }
- return n;
- }
- int main(){
- int rrr;
- cin >> rrr;
- a[1] = "2";
- al[1] = 1;
- for(int i = 2; i <= 42; i++){
- if(al[i - 1] == i - 1){
- a[i] = "1" + a[i - 1];
- vector<int> x;
- for(int j = a[i].length() - 1; j > -1; j--) x.push_back(a[i][j] - 48);
- al[i] = dva(x);
- } else {
- a[i] = "2" + a[i - 1];
- vector<int> x;
- for(int j = a[i].length() - 1; j > -1; j--) x.push_back(a[i][j] - 48);
- al[i] = dva(x);
- }
- }
- cout << a[rrr];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement