Eva's Balance
题目:
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 4211 | Accepted: 2022 |
Description
Input
Output
Sample Input
3 9 5 20
Sample Output
empty 9 1,3 9 1,9 3,27
心得:
对称三进制和三进制的比较
1.对称三进制采用-1,0,1作为基本字符,而普通三进制采用0,1,2作为基本字符。
2.对称三进制不需要符号位就能表示负数,而普通三进制需要符号位才能表示负数。
3.对称三进制乘法比较简单,移位、取非、相加就可以完成,便于处理;普通三进制,处理起来比较麻烦。
4.对称三进制在表示自然数的时候,比普通三进制要长
5.对称三进制在表示0.510~110之间的数的时候,整数部分为1,不直观;普通三进制没有这种现象
代码<C语言>
#include<string.h>
void solve(int n);
int main()
{
int i,t;
int n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
solve(n);
}
return 0;
}
void solve(int n)
{
int i,k=n,left[100],right[100],tt; //k代表数据
int li=0,ri=0;
int a[200];
memset(a,0,sizeof(a));
i=0;
//printf("while前\n");
while(k!=0) //将其转化为三进制数,储存在数组A[i]中
{
a[i++]=k%3;
//printf("a[%d]的值为%d\n",i,a[i]);
k=k/3;
// printf("k的值%d\n",k);
}
//printf("while后\n");
/*
1:如果当前位为2, 则当前位变为-1(减三), 高一位的系数+1。
2:如果当前位是3,则当前位变为0(减三), 高一位的系数+1.道理同上。
3:其他不变。
for(k=0; k<i; k++)
if(a[k]==3)
{
a[k]=0;
a[k+1]++;
}
else if(a[k]==2)
{
a[k]=-1;
a[k+1]++;
}
tt=1;
for(k=0; k<=i; k++)
{
if(a[k]==-1)
left[++li]=tt;
else if(a[k]==1)
right[++ri]=tt;
tt*=3;
}
if(li==0)
{
printf("empty ");
for(i=1; i<ri; i++)
printf("%d,",right[i]);
printf("%d\n",right[ri]);
}
else
{
for(i=1; i<li; i++)
printf("%d,",left[i]);
printf("%d ",left[li]);
for(i=1; i<ri; i++)
printf("%d,",right[i]);
printf("%d\n",right[ri]);
}
}
Eva's Balance相关推荐
- 转载[POJ题型分类]
北大ACM题分类 主流算法: 1.搜索 //回溯 2.DP(动态规划) 3.贪心 4.图论 //Dijkstra.最小生成树.网络流 5.数论 //解模线性方程 6.计算几何 //凸壳.同等安置矩形的 ...
- ACM 网址和一些建议
USACO http://ace.delos.com/usacogate 美国著名在线题库,专门为信息学竞赛选手准备 TJU http://acm.tongji.edu.cn/ 同济大学在线题库,唯一 ...
- 【poj题集整理】【存下来并不会看】
主要是整理起来自己用的.网上有多个版本. 初级: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) ...
- (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目
POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...
- 初学ACM之路(训练大纲)
初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj329 ...
- ACM大量习题题库及建议培养计划
ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO h ...
- ACM题目和培养训练!!!
ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO ht ...
- POJ刷题列表——正在进行
转载自:http://blog.csdn.net/pyub153/article/details/50480333 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心 ...
- ACM训练史上最详细计划(大神养成记)
看完人家的博客,发现任重道远... 一位高手对我的建议: 一般要做到50行以内的程序不用调试.100行以内的二分钟内调试成功.acm主要是考算法的 ,主要时间是花在思考算法上,不是花在写程序与debu ...
最新文章
- 计算机网站编辑需要学什么,网站编辑工作的心得体会
- Excel VBA附合导线平差自动计算表
- WSE 3.0 文档翻译:安装WSE3.0
- Tomcat开启SSL协议支持
- Android移动开发之【Android实战项目】DAY5-MPAndroidChart可滑动折线图
- 封装一个jquery库
- HDU 2242 考研路茫茫——空调教室
- Oracle经典面试题,你都掌握了吗?
- PreparedStatement JDBC域处理/SQl攻击
- Codeforces Round #321 (Div. 2) B. Kefa and Company 二分
- percona 5.7.11root初始密码设置
- laravel 配置邮件发件人_Jenkins中配置自动化测试项目
- 计算机网络实验一总结(基于packet tracer)
- NPN PNP 接近开关
- 三行CSS代码搞定镜头平移(Panning Shot)动画
- 【转】光通信主要会议和期刊总结
- css一些特殊的图形,CSS 绘制特殊图形
- JS - 获取选中复选框的值(checkBox)
- 【计算机图形学】c++ OpenGL Sutherlang-Hodgman 多边形裁剪
- EclipsePDT svn 切换用户
热门文章
- 照片变漫画头像如何操作?照片变漫画头像制作方法推荐
- 会议室预约小程序毕业设计毕设作品开题报告答辩PPT
- mulesoft MCIA 易错题汇总解析
- Spring Boot 实践折腾记(20):Thymleaf + webjar + ECharts 构建本地图表
- C++ Primer Plus(第六版)第十章课后习题
- 方差、标准差、均方差等各种差
- php获取CSV后缀文件中的内容,并把某一列的数据重写到txt文件中
- Nacos服务名ip地址改为域名
- 前端小白学React系列之——浅仿一下炒股软件(雪球)
- R语言:结构方程模型sem、潜变量分析