题意
一个数字只能由和
组成,问你位数小于等于
的数字一共有多少种
思路
对于位的数,上面的每一个位都有两种情况,那就是
那么我们从到
的位数都枚举一遍就好
代码
/**
* author: andif
* created: 23.08.2023 22:20:17
**/
#include<bits/stdc++.h>
using namespace std;
#define de(x) cerr << #x << " = " << x << endl
#define dd(x) cerr << #x << " = " << x << " "
#define rep(i, a, b) for(int i = a; i < b; ++i)
#define per(i, a, b) for(int i = a; i > b; --i)
#define mt(a, b) memset(a, b, sizeof(a))
#define sz(a) (int)a.size()
#define fi first
#define se second
#define qc ios_base::sync_with_stdio(0);cin.tie(0)
#define eb emplace_back
#define all(a) a.begin(), a.end()
using ll = long long;
using db = double;
using pii = pair<int, int>;
using pdd = pair<db, db>;
using pll = pair<ll, ll>;
using vi = vector<int>;
const db eps = 1e-9;
ll qpow(ll a, int b) {
ll ret = 1;
while(b) {
if (b & 1) ret *= a;
a = a * a;
b >>= 1;
}
return ret;
}
int main() {
int n; cin >> n;
ll ans = 0;
rep(i, 1, n + 1) ans += qpow(2, i);
cout << ans << '\n';
return 0;
}