题目链接 http://acm.hust.edu.cn/vjudge/problem/19593

解题思路

把数的2进制写出来。

用-2进制套进去,比较两者的关系,可得出结论。

代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int maxLen = 205;
int base2[maxLen];
void GetBase2(int num, int &w)
{while(num != 0) {base2[++w] = num % 2;num /= 2;}
}
void ChangeBase(int num, int &w)
{if(num > 0) {for(int i=0; i<=w; i++) if(i % 2 == 1) {int jin = 0, j = i + 1;if(base2[i]) base2[j]++; jin = base2[j] / 2; base2[j] %= 2;while(jin) { j++;base2[j] += jin; jin = base2[j] / 2; base2[j] %= 2; }w = w > j ? w : j;}}else if(num < 0) {for(int i=0; i<=w; i++) if(i % 2 == 0) {int jin, j = i + 1;if(base2[i]) base2[j]++; jin = base2[j] / 2; base2[j] %= 2;while(jin) {j++;base2[j] += jin; jin = base2[j] / 2; base2[j] %= 2; }w = w > j ? w : j;}}else w = 0;
}
int main()
{int cases, t = 1;int wei;scanf("%d", &cases);while(cases--) {int number;wei = -1;memset(base2, 0, sizeof(base2));scanf("%d", &number);GetBase2(abs(number), wei);ChangeBase(number, wei);printf("Case #%d: ", t);for(int i=wei; i>=0; i--) printf("%d", base2[i]);printf("\n");t++;}return 0;
}

转载于:https://www.cnblogs.com/ZengWangli/p/5844022.html

uva11121- -2进制相关推荐

  1. java 16进制与图片互转

    十六进制转成图片 /*** 十六进制转成图片* @author Administrator**/public static void saveToImgFile(String src,String o ...

  2. LeetCode简单题之K 进制表示下的各位数字总和

    题目 给你一个整数 n(10 进制)和一个基数 k ,请你将 n 从 10 进制表示转换为 k 进制表示,计算并返回转换后各位数字的 总和 . 转换后,各位数字应当视作是 10 进制数字,且它们的总和 ...

  3. LeetCode简单题之七进制数

    题目 给定一个整数 num,将其转化为 7 进制,并以字符串形式输出. 示例 1: 输入: num = 100 输出: "202" 示例 2: 输入: num = -7 输出: & ...

  4. Java IDEA Debug进制二维数组

    1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 如何加断点 选择 ...

  5. python 16进制转10进制, 8进制转10进制, 2进制转10进制的方法

    python 16进制转10 进制, 8进制转10进制, 2进制转10进制 可以使用系统自带的 int 方法 具体如下: value = "0x1388" result = int ...

  6. Java中byte与16进制字符串的互相转换

    https://www.cnblogs.com/qinwangchen/p/5418028.html * Convert byte[] to hex string.这里我们可以将byte转换成int, ...

  7. 【Luogu】P1013进制位(搜索)

    题目链接在这里 这题和虫食算比较类似.做完这道题可以去做虫食算.都是搜索一类的题. 这样 我们分析题目可以发现进制只可能是字母的个数,也就是n-1.为什么? 因为题目要求完整的加法表才算数.如果进制低 ...

  8. -变量,进制,数据类型,标识符

    ###02.01_Java语言基础(常量的概述和使用)(掌握) * A:什么是常量 * 在程序执行的过程中其值不可以发生改变 * B:Java中常量的分类 * 字面值常量 * 自定义常量(面向对象部分 ...

  9. python中不同进制的整数之间可以直接运算_Python 进制转换、位运算

    一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...

  10. python测试脚本 进制转换_使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)...

    不过,status中包含了一个mid字段,通过mid,我们实际上是可以通过计算得到url的. 在开始计算之前有必要说明一下,什么是base62编码.它实际上就是十进制和62位进制的互换.对于62进制, ...

最新文章

  1. 098~100:ORM迁移
  2. 经常用到的JS 表单验证函数
  3. mybatis insert 返回主键_面试准备季——MyBatis 面试专题(含答案)
  4. Python - 列表与字符串的互相转换
  5. 怎样下载C/C++的免费、开源且跨平台IDE——Code::Blocks
  6. 如何对Windows Server 2008上的ARP缓存进行管理
  7. [MFC]Sqlite问题小记
  8. 测试Live Write的发布功能
  9. 小米路由器3潘多拉固件刷机教程
  10. 对称加密算法(DES、3DES、AES)
  11. 【Unity】制作动画
  12. 资源 就是Tianmao项目里小部分备用 测试 的数据以及图片
  13. mysql 复制方式_MySQL数据库复制表的几种方式讲解
  14. 基于osgEarth的空间态势三维场景视点控制与卫星轨道绘制
  15. 万字拆解Ubras:年销15亿、暴涨10倍,内衣新秀的春天到了?
  16. 浅析Servlet中的四大作用域
  17. 「雕爷学编程」Arduino动手做(13)——触摸开关模块
  18. MATLAB 基本操作
  19. 如何做简单的数据分析
  20. 毕业设计微信小程序选题

热门文章

  1. CSS动画之静态三角形画法与延后的汽车车灯
  2. Windows Azure Pack与VMware VRA 对比(六)Azure Pack MSSQL PaaS功能测试
  3. 导入 Excel 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
  4. svn代码统计工具的金额
  5. uniapp省市区街道四级级联动选择器
  6. OpenCV中的轮廓及性质
  7. 人脸识别进课堂?印度学生:不新鲜了!
  8. html弹出窗口是浮动,JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
  9. 语音信号分析(语音分帧)
  10. WPF Binding(四种模式)