fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define for1(i,m,n) for(int i=m;i<=n;i++)
  5. #define for0(i,m,n) for(int i=m;i<n;i++)
  6.  
  7. #define int unsigned long long
  8. #define el '\n'
  9. #define fi first
  10. #define se second
  11. #define ii pair<int,int>
  12. #define vll(i) i.begin(),i.end()
  13.  
  14. const int N=1e7;
  15. const int mod=1e9+7;
  16.  
  17.  
  18. vector<int>v_1,v_2;
  19. int pow_(int n,int k){
  20. int ans=1;
  21. while(k>0){
  22. if(k%2==1) ans*=n;
  23.  
  24. n*=n;
  25. k/=2;
  26.  
  27. }
  28. return ans;
  29. }
  30. signed main(){
  31. ios_base::sync_with_stdio(0);
  32. cin.tie(0);
  33. cout.tie(0);
  34. // freopen("bai1.INP","r",stdin);
  35. // freopen("bai1.OUT","w",stdout);
  36. int n;cin>>n;
  37. int t=0;
  38. bool ok=1;
  39. int dem=0;
  40. while(n>0||dem>0){
  41. ok=1;
  42. int x=n%3+dem;
  43. //cout<<n<<' '<<x<<el;
  44. n/=3;
  45. dem=0;
  46. if(x==2){
  47. dem=1;
  48. v_1.push_back(pow_(3,t));
  49. }
  50. else if(x==1)
  51. v_2.push_back(pow_(3,t));
  52. else if(x==3) dem=1;
  53.  
  54. t++;
  55. }
  56. for(auto x:v_2){
  57. cout<<x<<' ';
  58. }
  59. cout<<el;
  60. for(auto x:v_1){
  61. cout<<x<<' ';
  62. }
  63. return 0;
  64. }
  65.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
9 243 6561 59049 177147 1594323 4782969 129140163 387420489 3486784401 847288609443 2541865828329 22876792454961 68630377364883 
27 729 2187 1162261467 94143178827