CF333A题解

发布时间 2023-11-02 19:04:54作者: Kazdale
  • 分析

    被除数一定,除数越小,商越大,所以选择合法的最小 \(3_{x}\)
    枚举指数即可,复杂度 \(\mathcal{O(\log_{3}w)}\)\(w\) 为值域 \(1e18\),可以通过本题。
  • 代码

#include <iostream>
#define int long long
using namespace std;
constexpr int MAXN(1000007);
int f[MAXN];
int n;
inline void read(int &temp) { cin >> temp; }
signed main() {
	ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
	read(n);
	f[0] = 1;
	for (int i(1); i <= 10000; ++i) {
		f[i] = f[i - 1] * 3;
		if (n % f[i])  return cout << (n / f[i]) + (n % f[i] != 0) << endl, 0;
	}
	return 0;
}