题目描述

我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 1010 为底数的幂之和的形式。例如 123123 可表示为 1×102+2×101+3×1001×102+2×101+3×100 这样的形式。

与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以 22 为底数的幂之和的形式。

一般说来,任何一个正整数 �R 或一个负整数 −�−R 都可以被选来作为一个数制系统的基数。如果是以 �R 或 −�−R 为基数,则需要用到的数码为 0,1,....�−10,1,....R−1。

例如当 �=7R=7 时,所需用到的数码是 0,1,2,3,4,5,60,1,2,3,4,5,6,这与其是 �R 或 −�−R 无关。如果作为基数的数绝对值超过 1010,则为了表示这些数码,通常使用英文字母来表示那些大于 99 的数码。例如对 1616 进制数来说,用 �A 表示 1010,用 �B 表示 1111,用 �C 表示 1212,以此类推。

在负进制数中是用 −�−R 作为基数,例如 −15−15(十进制)相当于 (110001)−2(110001)−2​ (−2−2进制),并且它可以被表示为 22 的幂级数的和数:

(110001)−2=1×(−2)5+1×(−2)4+0×(−2)3+0×(−2)2+0×(−2)1+1×(−2)0(110001)−2​=1×(−2)5+1×(−2)4+0×(−2)3+0×(−2)2+0×(−2)1+1×(−2)0

设计一个程序,读入一个十进制数和一个负进制数的基数, 并将此十进制数转换为此负进制下的数。

输入格式

输入的每行有两个输入数据。

第一个是十进制数 �n。 第二个是负进制数的基数 −�−R。

输出格式

输出此负进制数及其基数,若此基数超过 1010,则参照 1616 进制的方式处理。

输入输出样例

输入 #1复制

30000 -2

输出 #1复制

30000=11011010101110000(base-2)

输入 #2复制

-20000 -2

输出 #2复制

-20000=1111011000100000(base-2)

输入 #3复制

28800 -16

输出 #3复制

28800=19180(base-16)

输入 #4复制

-25000 -16

输出 #4复制

-25000=7FB8(base-16)

说明/提示

【数据范围】
对于 100%100% 的数据,−20≤�≤−2−20≤R≤−2,∣�∣≤37336∣n∣≤37336。

NOIp2000提高组第一题

#include <bits/stdc++.h>
using namespace std;
string a;
int n,k,m,i=-1;
char z[20]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J'};
int main() {cin>>n>>k;cout<<n<<"=";while(n) {int m=n%k;if(m<0) {m-=k;n+=k;}a[++i]=z[m];n/=k;}for(int s=i; s>=0; s--) {cout<<a[s];}printf("(base%d)",k);return 0;
}

P1017 [NOIP2000 提高组] 进制转换相关推荐

  1. 信息学奥赛一本通 1820:【00NOIP提高组】进制转换 | 洛谷 P1017 [NOIP2000 提高组] 进制转换

    [题目链接] ybt 1820:[00NOIP提高组]进制转换 洛谷 P1017 [NOIP2000 提高组] 进制转换 注意:两OJ上题目内容相同,输入输出要求不同 [题目考点] 1.数制 [解题思 ...

  2. 洛谷——P1017 [NOIP2000 提高组] 进制转换(C++)

    洛谷--P1017 [NOIP2000 提高组] 进制转换(C++) 前言 前几天才参加了第十三届蓝桥杯比赛,发现居然有两道于进制相关的题,而且那道编程题--X进制减法,别说做了,题都看不懂,真的是枯 ...

  3. 洛谷P1017题解 [NOIP2000 提高组] 进制转换

    原文地址:https://luvletter.blog.luogu.org/p1017-ti-jie P1017 [NOIP2000 提高组] 进制转换 题目描述 我们可以用这样的方式来表示一个十进制 ...

  4. 洛谷——P1017 进制转换

    P1017 进制转换 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1\times ...

  5. P1017 进制转换 (洛谷)

    进制转换 (洛谷 P1017P1017P1017题) 题解来了,如果有错尽管批评指正,我会努力修改的首先就是我们一点都不可爱的题目传送门了,接下来是枯燥的题目描述,收揽的同学可以继续往下看,如果想先尝 ...

  6. 基础知识(一),ip地址详解、网关、DNS、进制转换、DOS命令、批处理、用户和组管理、telnet、RDP、NTFS、CIFS

    基础知识: 企业 >enterprise 专业 >profession 服务器 >server 客户端 >client 浏览器 >Browser B/S 架构:服务器对应 ...

  7. [NOIP2000]进制转换

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的值减1为指数,以10为底数的幂之和的形式.例如:123可 ...

  8. 蓝桥杯 笔记整理【JavaB组省赛真题、约数、全排列模板、排列组合、等差等比求和公式、eclipse快捷键、集合、快速求a^n、进制转换(Integer、BigInteger)、动态数组Vector】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  9. 进制转换(洛谷-P1017)

    题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减 1 )为指数,以 10 为底数的幂之和的形式.例如: 123 可表示为 1*10^2+2\*10^ ...

最新文章

  1. 一文讲解特征工程 | 经典外文PPT及中文解析
  2. 《转》 ImportError: No module named caffe 的解决方案
  3. Pci设备驱动:设备枚举
  4. Java的三种代理模式简述
  5. 春节快乐!iPhone11 128G抱回家!
  6. JavaScript内核系列 第8章 面向对象的JavaScript(下)
  7. Scikit-learn 数据预处理之归一化MinMaxScaler
  8. 编辑距离—leetcode72
  9. 操作系统与存储:解析Linux内核全新异步IO引擎io_uring设计与实现
  10. phpcmsV9文章页时间 - 踩坑篇
  11. 字符串的经典hash算法
  12. linux aix 环境,在AIX中设置中文环境
  13. 可能是最全的一份 2017 年中国移动互联网年度报告(建议收藏)
  14. springcloud整合nacos启动时报错‘com.netflix.client.config.IClientConfig‘ that could not be found
  15. 58同城峰会落幕 智能化平台和下沉市场能让继续神奇吗?
  16. 复习JQuery validate验证规则
  17. LC3 仿真器的安装和使用
  18. 个人网站如何转型为商业网站
  19. 通过蒲公英让两台异地电脑组建局域网
  20. 如何使用 JavaScript 制作待办事项列表

热门文章

  1. 德尔玛深交所上市破发:公司市值66亿 小米与欧派是股东
  2. C++ Http Server 开源库(汇总级整理)
  3. [java] Map循环遍历的5种方法实现
  4. 我的OpenGL的项目配置的过程
  5. 决策树分类器的应用研究——乳腺癌诊断
  6. [FLEX笔记]网络监视器引起的Channel.Security.Error#2048
  7. allegro按1:1比例用打印机打印
  8. 卷积神经网络结合水平集方法
  9. 灵性图书馆:好书推荐-《觉悟自我的科学》
  10. 基于校园二手闲置商城微信小程序云开发后台校园物品交换毕业设计系统设计与实现