伊娃的平衡
来源:互联网 发布:英国人用淘宝 编辑:程序博客网 时间:2024/04/29 14:53
Description
Eva has a balance with 20 poises. The weights of the poises are 1, 3, 9, 27,...,3^19. Eva asserts that she has a way to measure any object whose weight is an integer from 1 to (3^20-1)/2. Assuming that Eva has placed an object with the weight in this range on the left tray of the balance, your task is to place the proper poises on the proper trays so as to weigh the object out.
Input
The first line is an integer T (1 <= T <= 20), which shows the number of the test cases. Each of the following T lines contains an integer W (1 <= W <= (3^20-1)/2), expressing the weight of an object.
Output
For each test case print a line, showing the weights of the poises on the left tray and the right tray. Use a space to separate the left tray and the right tray. The poises on the same tray are arranged in the increasing order, and a comma separates every two of them. If there is no poise on the tray, output "empty".
Sample Input
39520
Sample Output
empty 91,3 91,9 3,27
个人理解
将输入的数化为三进制,然后再进行判断
代码
#include<stdio.h>#include<math.h>#include<string.h>#define N 21void l(int a[N],int m){ int i,j=0; for(i=0;i<=m;i++) { if(!j&&a[i]) { printf("%d",(int)pow(3.0,i*1.0)); j=1; } else if(a[i]) { printf(",%d",(int)pow(3.0,i*1.0)); } } if(!j) printf("empty");}int main(){ int n,W,Right[N],Left[N]; scanf("%d",&n); while(n--) { int i,m=0; memset(Right,0,sizeof(Right)); memset(Left,0,sizeof(Left)); scanf("%d",&W); while(W) { Right[m++]=W%3; W/=3; } for(i=0;i<m;i++) { if(Right[i]>=2) { if(Right[i]==2) { Left[i]=1; } Right[i]=0; Right[i+1]++; } } l(Left,m); printf(" "); l(Right,m); printf("\n"); } return 0;}
阅读全文
0 0
- 伊娃的平衡
- 平衡E水晶的平衡养生说
- 平衡二叉树的
- 网络负载平衡的
- 管理的平衡艺术
- 平衡的美 treap
- HDFS集群的平衡
- 平衡树的练习
- 堆栈平衡的说明
- 运算放大器的平衡电阻
- 堆栈平衡的应用
- 树的平衡值
- 平衡电阻的选用
- 金融系统平衡的问题
- JZOJ4841 平衡的子集
- jzoj4841 平衡的子集
- [JZOJ4841] 平衡的子集
- 【JZOJ4841】平衡的子集
- HDFS与其他并行文件系统的比较
- 《Java设计模式之策略模式》
- difacto源码分析
- 删除ArrayList表中的偶数
- Initramfs--kernel+filesystem合并
- 伊娃的平衡
- mysql5.7分组查询group by,分组查询并且显示每组时间最新的一条记录
- Axialis IconWorkshop图标制作软件一次性制作多个尺寸图标ico
- 用Excel理解梯度下降:简单到拍案叫绝
- sqlserver修改查询出来数据的前几行的字段内容
- 【实习面试】阿里&腾讯offer的点点滴滴(内附干货)2016
- python魔法方法
- mybatis一对一表关联问题
- if __name__ == "__main__" 的意义: