• POJ 1702


      1 #include <iostream>
      2 #include <cmath>
      3 #define MAXN 100
      4 using namespace std;
      5 
      6 void fun(int num);
      7 void fun_1();
      8 
      9 int ans[MAXN];
     10 
     11 struct node
     12 {
     13     int ans[MAXN];
     14     int len;
     15     node()
     16     {
     17         memset(ans,0,sizeof(ans));
     18         len = 0;
     19     }
     20 };
     21 
     22 node _l;
     23 node _r;
     24 
     25 int main()
     26 {
     27     //freopen("acm.acm","r",stdin);
     28     int test;
     29     int i;
     30     int num;
     31 
     32     cin>>test;
     33     while(test --)
     34     {
     35         memset(_r.ans,0,sizeof(_r.ans));
     36         memset(_l.ans,0,sizeof(_l.ans));
     37         cin>>num;
     38         fun(num);
     39         fun_1();
     40         bool boo;
     41         int tem = 0;
     42         boo = false;
     43     //    int p = -1;
     44     //    bool ok = false;
     45         int index = 0;
     46         for(i = 0; i < MAXN; ++ i)
     47         {
     48             if(_l.ans[i] != 0)
     49             {
     50                 ans[index ++]  = pow((double)3,tem);
     51                 boo = true;
     52             }
     53             
     54             ++ tem;
     55         }
     56         if(boo)
     57         {
     58             for(i = 0; i < index-1; ++ i)
     59             {
     60                 cout<<ans[i]<<",";
     61             }
     62             cout<<ans[index-1]<<" ";
     63         }
     64         else
     65         {
     66             cout<<"empty ";
     67         }
     68         
     69 
     70 
     71         index = 0;
     72         boo = false;
     73         tem = 0;
     74         for(i = 0; i < MAXN; ++ i)
     75         {
     76             if(_r.ans[i] != 0)
     77             {
     78                 ans[index ++]  = pow((double)3,tem);
     79                 boo = true;
     80             }
     81             
     82             ++ tem;
     83         }
     84         if(boo)
     85         {
     86             for(i = 0; i < index-1; ++ i)
     87             {
     88                 cout<<ans[i]<<",";
     89             }
     90             cout<<ans[index-1];
     91         }
     92         cout<<endl;
     93     }
     94 }
     95 
     96 void fun(int num)
     97 {
     98     int i;
     99     int tem;
    100     i = 0;
    101     while(num)
    102     {
    103         _r.ans[i ++] = num%3;
    104         num /= 3;
    105     }
    106     _r.len = i;
    107 }
    108 
    109 void fun_1()
    110 {
    111     int i;
    112     int c = 0;
    113     for(i = 0; i < MAXN; ++ i)
    114     {
    115         _r.ans[i] += c;
    116         if(_r.ans[i] == 2)
    117         {
    118             _r.ans[i] = 0;
    119         //    _r.ans[i+1] += 1;
    120             c = 1;
    121             _l.ans[i] += 1;
    122         }
    123         else if(_r.ans[i] == 3)
    124         {
    125             _r.ans[i] = 0;
    126         // _r.ans[i+1] += 1;
    127             c = 1;
    128         }
    129         else
    130         {
    131             c = 0;
    132         }
    133         
    134 
    135     }
    136 }

    关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。 

    技术网站地址: vmfor.com

  • 相关阅读:
    23
    关系数据库范式
    组合
    排列
    bfs_迷宫求最短路径
    dfs-求连通块
    dfs_部分和问题
    线程
    http://m.blog.csdn.net/article/details?id=51699295
    jquery 页面多个倒计时
  • 原文地址:https://www.cnblogs.com/gavinsp/p/4566511.html
Copyright © 2020-2023  润新知