ZOJ-2759
来源:互联网 发布:阿里推荐算法负责人 编辑:程序博客网 时间:2024/04/30 15:18
转化为3进制表示的问题
#include<cstdio>#include<string>#include<vector>using namespace std;namespace{vector<int> power;void init(){int n = 1;while (n <= 500000000){power.push_back(n);n *= 3;}}string to_3_base(int n){string s;while (n){s += (n % 3 + '0');n /= 3;}return s;}string sum(string s){string res;int prev = 0;bool first = true;for (size_t i = 0; i != s.size(); i++){if (s[i] + prev == '2'){if (first){first = false;printf("%d", power[i]);}elseprintf(" %d", power[i]);prev = 1;res += '0';}else if (s[i] + prev == '3'){prev = 1;res += '0';}else{res += (s[i] + prev);prev = 0;}}if (prev)res += '1';puts(first ? "-1" : "");return res;}}int main(){init();int m;while (scanf("%d", &m) != EOF){string s = sum(to_3_base(m));bool first = true;for (size_t i = 0; i != s.size(); i++)if (s[i] == '1'){if (first){first = false;printf("%d", power[i]);}elseprintf(" %d", power[i]);}puts("\n");}return 0;}
0 0
- ZOJ-2759
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- 各种区别题
- 微信公众帐号开发教程第9篇-QQ表情的发送与接收
- shell调用sqlplus例子
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 并行计算vs分布式计算
- ZOJ-2759
- leetcode: Divide Two Integers
- xmu 1008
- 股市基础知识、股票名词【二】
- Spring声明式事务之代理机制与tx标签两种方式
- 选夫婿1(SDUT 1569)
- 浅入浅出SQL注入
- 微信公众帐号开发教程第11篇-符号表情的发送(上)
- tinyos--随机数