背景

太原成成中学第3次模拟赛 第2道

描述

对于十进制整数N,试求其-2进制表示。
例如,因为 1*1 + 1*-2 + 1*4 + 0*-8 +1*16 + 1*-32 = -13 ,所以(-13)_10 = (110111)_-2。

输入格式

一个整数,代表要转换的十进制数。

输出格式

一个整数,代表N的-2进制表示。

测试样例1

输入

-13

输出

110111

备注

|N| <= 2000000000
Vivian Snow
广东汕头聿怀初级中学NOIp第一次训练用题

代码

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 long long n;
 7 int p,ans[35];
 8 int main(){
 9     scanf("%lld",&n);
10     for(long long i=1;p<=32;i*=-2,p++){
11         if((n/i)&1){
12             ans[p]=1;
13             n-=i;
14         }
15     }
16     while(!ans[p]&&p!=0) p--;
17     for(int i=p;i>=0;i--){
18         printf("%d",ans[i]);
19     }
20     puts("");
21     return 0;
22 }

思路:和平常进制转换一样。但是:

如果用普通的%或者mod结果不对,为什么?因为它不是往下取第一个能被-2整除的数,而是把此数对2取模,然后依前者符号决定。所以,要手工用“往下取第一个能被-2整除的数”作为求余数的方法。

从低位开始,用n除以该位的进制数,看结果是否为奇数,注意要开longlong

转载于:https://www.cnblogs.com/radiumlrb/p/5792999.html

TYVJ P1022 进制转换 Label:坑相关推荐

  1. JAVA 进制转换工具类 10进制转16进制 10进制转2进制 16进制转2进制 16进制10进制 2进制转10进制 2进制转16进制

    进制转换的坑: 注意:使用Integer的方法转换出来的2进制字符串 最高位是没有补零的 ,java的Integer类的toBinaryString()方法转换出来的二进制字符串只会保留最高非零位以后 ...

  2. ZOJ1217 Numerically Speaking (进制转换,大整数除法,字符串处理,较难而且坑)

    题目 题目链接: ZOJ1217 Numerically Speaking https://zoj.pintia.cn/problem-sets/91827364500/problems/918273 ...

  3. 写一个比较全的进制转换函数--ic

    //写一个比较全的进制转换函数-----未完成 #include <stdio.h> //D进制转换后 (比如10-2进制) 结果可能会很大 需要很长的字符串来存 #include < ...

  4. 【PAT甲级 进制转换】1019 General Palindromic Number (20 分) Java版 7/7通过

    题目 这道题可以说是非常友善了,说白了是个水题.题目没什么坑,一次通过,主要思想就是: 输入两个数:num和base 将num按照base进制转换,得到arr 判断arr是否是一个回文数,并且输出这个 ...

  5. 牛客题霸 [进制转换] C++题解/答案

    进制转换 题目描述 给定一个十进制数M,以及需要转换的进制数N.将十进制数M转化为N进制数 题解: 看似简单的进制转换套路非常多 1.M是32位整数,有可能是负数,所以还要特判一下 2.N的范围是[2 ...

  6. javascript进制转换_《算法笔记》3.5小节——入门模拟-gt;进制转换

    @[TOC] # Contest100000579 - <算法笔记>3.5小节--入门模拟->进制转换 ## 例题 ### PATB1022 PTA | 程序设计类实验辅助教学平台 ...

  7. C语言32位正整数作为id进程,SOJ4453 Excel列数 进制转换

    描述 我们都知道Excel的列数是用字母表示的,比如第1列对应A,第27列对应AA. 假设给定一个正整数n,你能给出它所对应的字母表示么? 输入格式 程序需要读入多个测试样例,每个测试样例中: 一个正 ...

  8. python tkinter 进制转换工具

    # -*- coding: utf-8 -*- from tkinter import * import tkinter.messagebox as boxclass main:base = [str ...

  9. java实现多功能科学计算器(包括进制转换,三角函数,四则运算等)

    多功能科学计算器(包括进制转换,三角函数,四则运算等) Basic Framework calculator.java package myCalculator; import java.awt.*; ...

  10. Java做一个进制转换小工具

    通过swing和awt实现的一个简单的进制转换工具 可以进行数之间的进制转换 只有两个类 所有代码都放在https://github.com/13337356453/BHD_Converter 可自行 ...

最新文章

  1. linux 文本行倒叙,Linux基础(4)之文本处理
  2. 控制器描述者(ControllerDescriptor),行为方法描述者(ActionDescriptor),参数描述者(ParameterDescriptor)的小结...
  3. 初识Mongodb总结
  4. 4月份不良与垃圾信息举报:垃圾邮件占37.4%
  5. Fireworks 期望,几何分布,概率,三分(2020.12.南京)
  6. 【CyberSecurityLearning 27】扫描与密码爆破
  7. 获取上传文件的后缀名
  8. 重写Gallery中方法去处理Gallery滑动时的惯性
  9. Windows XP系统安装SQL Server 2005(开发版)图解
  10. python pow函数用法_Python代码中pow()函数具有哪些功能呢?
  11. 小白记事本--学不明白还怕忘记指针--loading未完待续
  12. 高聚合和低耦合的理解
  13. 宇视交换机vlan路由配置指导
  14. Sovit3D三维可视化开发工具动画定义新功能
  15. 谈谈我所了解的数据分析行业(下)
  16. 解决 array subscript has type char 错误
  17. 快速入手Web幻灯片制作
  18. 硬盘smart健康深度检测工具——WGCLOUD
  19. Duplicate Finder for Mac 1.4.3 重复文件查找和删除 破解版下载
  20. echarts+高德地图设置卫星图层

热门文章

  1. 代码统计工具有哪几种_抖音小程序如何开发及类型有哪几种?
  2. java基本操作-2
  3. python3虚拟环境的设置
  4. web在session设置的账户用户名显示为空_海蜘蛛路由Web认证怎么设置 海蜘蛛路由Web认证方法【介绍】...
  5. 单网卡同时上内外网_Win10双网卡上网冲突(内网、外网)
  6. UOJ#52. 【UR #4】元旦激光炮(交互)
  7. linux 下 dhcp failover相关
  8. android--------自定义控件 之 组合控件篇
  9. React Native 圆形进度条组件
  10. ELK系列~NLog.Targets.Fluentd到达如何通过tcp发到fluentd