题目—负二进制 (shiyancang.cn)

进制的实质在于对于进制数的选择,选择不满足的填入当前的位置,然后除掉,继续开始选择。但是对于本题,是负数,但是进制上的数字为正数,所以就要调整,借位,因为符号不同,所以借位就是增加,进位就是减去。还有循环进位

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+520;
int n,k=0;
int ans[N];
int main()
{
scanf("%d",&n);
if(n==0)
{
cout<<0;
return 0;
}
while(n)
{
ans[++k]=n%-2;
n/=-2;
}
for(int i=1;i<=k;i++)
{
if(ans[i]<0) ans[i+1]+=((ans[i]%-2+-2)/-2),ans[i]=abs((ans[i]%-2+-2)%-2);
if(ans[i]>=2) ans[i+1]+=(ans[i]/-2),ans[i]%=-2;
}
if(ans[k+1]<2&&ans[k+1]>=0) k++;
while(ans[k+1]>=2||ans[k+1]<0)
{
if(ans[k+1]<0) ans[k+2]+=((ans[k+1]%-2+-2)/-2),ans[k+1]=abs((ans[k+1]%-2+-2)%-2),k++;
if(ans[k+1]>=2) ans[k+2]+=(ans[k+1]/-2),ans[k+1]%=-2,k++;
}
if(ans[k+1]<2&&ans[k+1]>=0) k++;
while(!ans[k]) k--;
for(int i=k;i>=1;i--) cout<<ans[i];
puts("");
return 0;
}

  

SYCOJ1717负二进制的更多相关文章

  1. [Swift]LeetCode1017. 负二进制转换 | Convert to Base -2

    Given a number N, return a string consisting of "0"s and "1"s that represents it ...

  2. [史上最全]C#(VB.NET)中位运算符工作过程剖析(译)

    原文地址CodeProject 目录 介绍 “二进制-十进制”相互转换 十进制->二进制 二进制->十进制 OR运算符(按位或|) OR运算符工作方式 FlagsAttribute AND ...

  3. 关于java按位操作运算

    <1>.在了解位移之前,先了解一下正数和负数的二进制表示形式以及关系:举例15和-15:15 的原码: 00000000 00000000 00000000 00001111     补码 ...

  4. [USACO精选] 第一章 数值计算

    好不容易坑来了传说中的USACO精选,近100题我要是能做完就哈哈哈哈了…继今天学并查集连番受挫之后,决定写一写基础题. #0 负二进制 2014-01-10 其实是想到就会做,不想到就不会做的题,数 ...

  5. 标准C编程-笔记全集

    C语言的基本概念 编写一个简单的C程序,后缀名保存为c(本次文件名为a.c) gcc:对c程序进行编译和连接:gcc a.c ./a.out:运行程序,输出程序的结果:其中a是c程序的文件名 说明:其 ...

  6. Swift LeetCode 目录 | Catalog

    请点击页面左上角 -> Fork me on Github 或直接访问本项目Github地址:LeetCode Solution by Swift    说明:题目中含有$符号则为付费题目. 如 ...

  7. 5E - A + B Again

    There must be many A + B problems in our HDOJ , now a new one is coming. Give you two hexadecimal in ...

  8. 16 - 文件操作-StringIO-BytesIO

    目录 1 文件操作 1.1 open函数介绍 1.2 打开操作 1.2.1 mode模式 1.2.2 文件指针 1.2.3 缓冲区 1.2.4 encoding编码 1.2.5 其他参数 1.3 读写 ...

  9. java 基础 01 变量和注释、数据类型

    1,变量和注释 比如:姓名:xiaoming 年龄:18 1.1变量的基本概念 当需要在程序中记录单个数据内容时,则需要声明一个变量来处理,而变量的本质就是内存中申请一块存储单元用于存储数据内容,由于 ...

随机推荐

  1. Mysql状态信息查询

    目录 一.连接相关 二.show status 三.其它 一.连接相关 查看连接线程相关的系统变量的设置值 show variables like 'thread%'; 查看系统被连接的次数 show ...

  2. HBuilderX无法启动微信小程序?仅三步

    1.复制微信开发者工具启动路径 : "C:\Program Files (x86)\Tencent\微信web开发者工具\微信web开发者工具.exe" 不要后面的 "微 ...

  3. 字节面试:SYN 包在什么场景下会被丢弃?

    大家好,我是小林. 之前有个读者在秋招面试的时候,被问了这么一个问题:SYN 报文什么时候情况下会被丢弃? 好家伙,现在面试都问那么细节了吗? 不过话说回来,这个问题跟工作上也是有关系的,因为我就在工 ...

  4. SpringBoot项目 maven打包时候提示程序包xxx不存在

    A模块依赖B模块 A打包的时候会报程序包xxx不存在 这时候我们看下B模块的pom.xml文件是否加了 <build> <plugins> <plugin> < ...

  5. ApacheShiro反序列化远程代码执行 漏洞处理

    Shiro对rememberMe的cookie做了加密处理,shiro在CookieRememberMeManaer类中将cookierememberMe字段内容分别进行序列化.AES加密.Base6 ...

  6. 【LeetCode】1128. Number of Equivalent Domino Pairs 等价多米诺骨牌对的数量(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典统计 代码 复杂度分析 日期 题目地址:http ...

  7. 【九度OJ】题目1433:FatMouse 解题报告

    [九度OJ]题目1433:FatMouse 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1433 题目描述: FatMouse pr ...

  8. 【LeetCode】561. Array Partition I 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 排序 日期 题目地址:https://leetcod ...

  9. The 2015 China Collegiate Programming Contest -ccpc-c题-The Battle of Chibi(hdu5542)(树状数组,离散化)

    当时比赛时超时了,那时没学过树状数组,也不知道啥叫离散化(貌似好像现在也不懂).百度百科--离散化,把无限空间中无限的个体映射到有限的空间中去,以此提高算法的时空效率. 这道题是dp题,离散化和树状数 ...

  10. idea使用教程-常用快捷键

    [1]创建内容:alt+insert [2]main方法:psvm [3]输出语句:sout [4]复制行:ctrl+d [5]删除行:ctrl+y [6]代码向上/下移动:Ctrl + Shift ...