解説動画はこちら!
コード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i, n) for (int i = 0; i < (n); ++i)
int main() {
ll n; cin >> n;
n--;
// 5進数に変換する
// 例: 27を5進数に変換すると, 102
vector vec;
// このwhile文で5進数に変換した各位の数をvectorに順に格納。(5^0の位から順に)
// 例: vec = {2, 0, 1}を作成
while(n > 0) {
vec.push_back(n % 5);
n /= 5;
}
// vecを逆順にする. vec = {1, 0, 2}
reverse(vec.begin(), vec.end());
// n = 1の場合に0となるように調整
if (vec.empty()) vec.push_back(0);
for (auto e : vec) cout << 2 * e;
cout << endl;
return 0;
}
コメント