1 solutions
-
0
C++ :
#include<bits/stdc++.h> using namespace std; long long n,ans; int a[1000000],t,bj,k; void f(long long x) { for(long long i=x;i>0;i/=3) { a[t++]=i%3; if(i%3==2) bj=t-1,k=1; } } void ff() { long long tmp=1; for(int i=0;i<t;i++) { ans+=tmp*a[i]; tmp*=3; } } int main() { // freopen("2.in","r",stdin); // freopen("2.out","w",stdout); cin>>n; f(n); if(k==0) { cout<<n; return 0; } for(int i=bj;i>=0;i--) a[i]=0; int jw=1; for(int i=bj+1;i<t;i++) { a[i]=a[i]+jw; jw=0; if(a[i]==2) a[i]=0,jw=1; } if(jw==1) a[t++]=1; ff(); cout<<ans; return 0; }
- 1
Information
- ID
- 946
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 10
- Tags
- # Submissions
- 1
- Accepted
- 1
- Uploaded By