2进制转化为3进制

总时间限制:

1000ms

内存限制:

65536kB

描述

输入一个2进制的数,要求输出该2进制数的3进制表示。
在3进制的表示中,只有0,1,2三种符号

输入

第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个以0和1组成的字符串,字
符串长度至少是1,至多是64

输出

n行,每行输出对应一个输入。

样例输入

2
10110
1011

样例输出

211
102

问题链接:Bailian3709 2进制转化为3进制

问题分析:(略)

程序说明

  2进制数有可能有64位,所以需要用ULL类型存储。

  转换后的结果是逆序的,所以输出是需要逆序输出。

  需要考虑特殊情形,如果值为0,需要保证正确输出结果。 

题记:(略)

 

AC的C语言程序如下:

/* Bailian3709 2进制转化为3进制 */#include <stdio.h>#define N 64typedef unsigned long long ULL;int main(void)
{int n, i;char c, ans[N];ULL v;scanf("%d", &n);getchar();while(n--) {v = 0;/* 读入数据 */while((c = getchar()) != '\n') {v <<= 1;v += c - '0';}/* 转换为3进制 */if(v == 0) {ans[0] = '0';i = 1;} else {i = 0;while(v) {ans[i++] = '0' + v % 3;v /= 3;}}/* 输出结果 */while(i>0)putchar(ans[--i]);putchar('\n');}return 0;
}

Bailian3709 2进制转化为3进制【进制】相关推荐

  1. Bailian2798 2进制转化为16进制【进制】

    2进制转化为3进制 描述 输入一个2进制的数,要求输出该2进制数的16进制表示. 在16进制的表示中,A-F表示10-15 输入 第1行是测试数据的组数n,后面跟着n行输入.每组测试数据占1行,包括一 ...

  2. 10进制转化为36进制

    不多说,下面是代码,10进制转化为36进制. function getDex236($value){     static $arrMap = ['a','b','c','d','e','f','g' ...

  3. 将24小时进制转化为12小时进制

    输入格式: 输入在一行中给出带有中间的":"符号(半角的冒号)的24小时制的时间,如12:34表示12点34分.当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分. ...

  4. 进制数值转换(附带小数点的进制转换)

    1. 十进制-二进制 Ø 十进制→二进制 § 整数部分:除二取余,商继续除二取余,逆序排列 § 小数部分:乘二取整,小数部分继续乘二取整,顺序排列 Ø 二进制→十进制 整数部分:加权做乘法并相加 § ...

  5. 计算机基础 进制转化,计算机基础知识_进制转化(示例代码)

    进制转化 一.任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1  +   6*10^0 首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计 ...

  6. [进制转换]用python实现10进制转任意进制的方法

    目录 问题引出: 原理:10进制数转任意进制数都是通过除以目标进制数取余得到的. 具体步骤: 结果展示: 代码实现: ①数值转换预处理 实现原理 ②得到目标进制数 创建字典的原理 问题引出: 各种算术 ...

  7. c语言oj答案进制转换,C语言编程的进制问题问题

    在我们的编译器,我用的是ADS   开发平台,现在RTC模块编程时,2410作为上位机,如下代码: n = rBCDDATE; if(n==1) time->day =0x31 ; 波斯历的日期 ...

  8. 进制转换:十进制转换为任意进制、任意进制转换为十进制

    目录 十进制转换为任意进制 任意进制转换为十进制 十进制转换为任意进制 //将10进制数num转换为d进制数 void convert_base(int num, int d) {int k;stac ...

  9. linux进制转换的函数,Linux shell 进制转换

    源地址链接:http://blog.csdn.net/axdc_qa_team/article/details/6090182 既然有需要,就把搜到感觉有用的进制转换函数或指令都贴在这里,便于以后应用 ...

最新文章

  1. leetcode--回文数--python
  2. 用Transformer定义所有ML模型,特斯拉AI总监Karpathy发推感叹AI融合趋势
  3. vue 使用sass 和less
  4. Java程序员进阶的 3 个层次,你处于哪个?
  5. 收不回来的value
  6. php add 返回id,PHP curl_multi_close函数
  7. 基于DDD的.NET开发框架 - ABP工作单元(Unit of Work)
  8. java时间选择,JAVA中的日期和时间选择器
  9. FlexSPI对写时序支持
  10. Go语言基础进阶—程序结构—赋值
  11. Android开发之异步消息处理机制AsyncTask
  12. SQL Server的锁机制
  13. APS傻瓜教材读后感之为什么需要人机交互调度
  14. 所有浏览器的 CSS selectors 兼容性
  15. DSP控制的电力线通信模拟前端接口设计
  16. Python 从入门到放弃(一)
  17. 高一计算机应用自我鉴定,高中生自我鉴定
  18. 关于一维数组(小朋友都能明白的一维数组超详细介绍)
  19. Pytorch:Unet网络代码详解
  20. 前端开发和后端开发哪个难学

热门文章

  1. 容器大小_C++复习篇(7)序列式容器vector
  2. SQL那些事儿(四)--oracle创建表空间、用户创建
  3. golang中的切片及内存拷贝
  4. 深入浅出聊Unity3D优化:从Draw Calls到GC
  5. vue2 自定义事件 v-model .sync
  6. Vue-Plugin开发插件
  7. node mysql 查询_Node.js使用mysql进行查询详解
  8. 如何使用计算机管理来为硬盘分区,电脑如何硬盘分区合理_电脑硬盘分区的基本步骤-win7之家...
  9. mysql yum安装和 rpm安装_yum 和 rpm安装mysql彻底删除
  10. Spark中 RDD之coalesce与repartition区别