51Nod_1925 进制转换

http://www.51nod.com/Challenge/Problem.html#!#problemId=1925

题目

有一个变进制系统从低位到高位的权值依次是 1,3,7,15,31,... 。即第i(i>=0)位的权值是 2i+1−1 。每一位数字是0,1,或者2。现在有一个十进制的数字n,想要把它转换成变进制系统下面的表示。由于有2的存在,这种转换可能会有多种可能,现在规定2只能作为最低非0位出现,这种情况下,表示就唯一了。比如44可能用15+15+7+7(2200)来表示,但是这样前面那个2就没有作为最低非0位出现,所以不符合要求,正确的转换是10120。

输入

多组测试数据。第一行有一个整数T(1<=T<=5),表示测试数据的数目。接下来T行,每行一个整数n(0<=n<=1000000000)。

输出

对于每一个n,输出它的变进制表示。

样例输入

4
1
2
3
4

样例输出

1
2
10
11

分析

枚举2出现的位置,然后从高位往低位计算该位为0还是为1,具体看程序。

C++程序

#include<iostream>
#include<cstring>using namespace std;int main()
{int a[31]={0},res[31];//计算各位的权重 int sum=1,n,t;for(int i=1;i<=30;i++){sum*=2;a[i]=sum-1;}scanf("%d",&t);while(t--){scanf("%d",&n);//寻找权值小于等于n的最高位 int k=30;while(k>=0&&n<a[k])k--;if(k==0){printf("0\n");continue;   }//枚举2的位置,i=0时表示没有2 for(int i=0;i<=k;i++){memset(res,0,sizeof(res));int temp=n;res[i]=2;temp-=2*a[i];for(int j=k;j>i;j--)if(a[j]<=temp){res[j]=1;temp-=a[j];}//找到答案 if(temp==0){for(int j=k;j>0;j--)printf("%d",res[j]);printf("\n");break; }}}return 0;
} 

51Nod_1925 进制转换【进制+枚举】相关推荐

  1. c语言ae16进制转换,进制转换工具下载_16进制2进制转换with曼彻斯特编码 1.3 免费版_极速下载站_软件下载...

    16进制2进制转换with曼彻斯特编码是一款简单易用的转换工具,可以对16进制.2进制.曼彻斯特算法.10进制等进行互转,支持802.3曼彻斯特.标准曼彻斯特.差分三种转换模式,支持曼彻斯特编码每8位 ...

  2. HTML5进制转换,进制转换

    我们知道十进制转换成二进制用短除法,但是为什么用短除法呢?请往下看. "数制"只是一套符号系统来表示指称"量"的多少.我们用"1"这个符号来 ...

  3. 计算机中的进制 进制转换 位运算符号

    进制 计算机内部是由 IC(intergrated Ciruit)这种电子部件构成, CPU 和内存也是 IC 的一种,IC的所有引脚只有直流电压 0V 或 5V两个状态,也就是说 IC 的一个引脚只 ...

  4. 软考笔记——1.1、计算机硬件组成、数据的进制转换、校验码

    一.计算机硬件组成 计算机的硬件基本系统由五部分组成:运算器.控制器.存储器.输入设备(如鼠标键盘).输出设备(如显示器) 存储器分为内部存储器(即内存.容量小,速度快,临时存放数据)和外部存储器(即 ...

  5. 计算机存储和进制转换

    计算机的存储单位 ​ 计算机只能识别二进制数据,也就是0和1(0和1实际上对应的是高低电平,或者磁极方向等),对应0和1的最小存储单位是bit,bit是数据传输的最小单位.人们又规定特定位数的0和1组 ...

  6. 计算机系统介绍及进制转换

    一.计算机系统介绍: 计算系统通常包括硬件和软件两个方面: 硬件:计算机硬件是计算系统的物理组成部分,包括CPU.内存.硬盘.显卡.主板.电源等,其中CPU是计算机的核心部件,负责执行指令和控制计算机 ...

  7. 计算机进制转进制,计算机中进制及进制转换

    <计算机中进制及进制转换>由会员分享,可在线阅读,更多相关<计算机中进制及进制转换(55页珍藏版)>请在人人文库网上搜索. 1.计算机中进制及进制转换 计算机中进制及进制转换 ...

  8. 计算机网络之基本计量单位和进制转换

    计算机网络之存储单位 计算机及计算机网络中传输.存储.运算基本计量单位 基本计量单位 计算机计量标准 进制说明 进制转换 进制转换总结 计算机及计算机网络中传输.存储.运算基本计量单位 基本计量单位 ...

  9. 半小时掌握进制转换!

    半小时掌握进制转换 什么是进制转换 进制转换的本质 常用的进制 十进制 简介 计数方法 转换 十进制与二进制的相互转换 十进制与八进制的相互转换 十进制与十六进制的相互转换 八进制 简介 转换 八进制 ...

  10. Python学习(一) 进制转换、ASCLL转换

    进制转换 进制之间的转换主要是利用十进制完成的.在进制转换的过程中,可以首先将相关进制转换为十进制的,再进行二次转换达到想要的效果.当然在进制转换中,也可以直接进行转换,不进行十进制的中转操作. 1. ...

最新文章

  1. docker概念:用Dockerfile生成Image
  2. Oracle的UNION函数
  3. Direct2D (11) : 画刷之 ID2D1LinearGradientBrush
  4. 关于泛泛而谈和刻意练习的思考
  5. maven pom java版本_Maven更新POM中的JDK版本(比如更新为JDK1.8)
  6. 任务调度之Elastic-Job1
  7. UML模型中的图-静态图【类图、对象图】
  8. XML —— DTD介绍
  9. 【课程】MIT深度学习课程:架起理论与实践的桥梁
  10. 全局变量、局部变量、静态全局变量、静态局部变量的区别
  11. Android P通知
  12. SSH Backgroup工具汇总
  13. java 2015001_hbase的Java操作
  14. docker 阿里镜像加速
  15. 这个 bug,硬是让我折腾了一周
  16. Mybatis关联关系
  17. 阿里腾讯大裁员,中概股暴跌!没病千万别去互联网公司......
  18. html规范eml文件,eml 文件头解析
  19. 世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
  20. 12.12下周黄金白银价格走势分析及期货原油操作建议布局

热门文章

  1. A nice speech——王强 at 36 Kr
  2. 想分享给马云和李开复的一篇文章
  3. 组织架构图实现——jOrgChart的使用
  4. 如何去处右下角任务栏闪动邮件图标小广告?WPS干的好事!
  5. Dapper数据库字段(列)与实体属性名不一致,通过Column特性自动注入映射
  6. 只要还在玩股票一定要好好学习、领会这篇文章
  7. Introduction to Fabric.js. Part 4.(介绍Fabric.js第四部分)
  8. -webkit-scrollbar 滚动条样式设置
  9. 【超详细】2021最新版Redis安装教程(基于Redis 6.2.x版本)
  10. yum安装Redis教程