我觉得我的代码很可以了,O(logn) 的复杂度,竟然离最优解还差好多,各位大佬能不能给个最优解法?
#include <cstdio>
int main()
{
bool flag = true;
int n, ans1 = 0, ans2 = 0;
scanf("%d", &n);
while (n)
{
++ans1;
if (flag && n % 3 == 1)
ans2 = ans1, flag = false;
n -= (n + 2) / 3;
}
printf("%d %d\n", ans1, ans2);
return 0;
}