题目描述

请你编一程序实现两种不同进制之间的数据转换。

输入格式

共三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10则用大写字母A-F表示数码10−15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)。

输出格式

一个正整数,表示转换之后的m进制数。

输入输出样例

输入 #1复制

16
FF
2

输出 #1复制

11111111

源代码

#include<iostream>
#include<cstring>//调用strlen函数计算字符串长度
#include<algorithm>//调用字符串反转reverse函数
using namespace std;
int num(char a[],int n)//将所对应的n进制字符串转换为十进制数
{int sum=0;int lenth=strlen(a);for(int i=0;i<lenth;i++)//字符串从头到尾遍历 {if(a[i]>='A'&&a[i]<='F'){sum=sum*n+(a[i]-'A'+10);}else if(a[i]>='0'&&a[i]<='9'){sum=sum*n+(a[i]-'0');}}return sum;//返回结果
}
char letter(int o)//将数字转换为字符用于嵌套在下面函数之中
{if(o>=0&&o<=9)return (o+'0');else return (o-10+'A');
}
string str(int num,int m)//将转化后的到的n进制字符串对应的十进制数转化为m进制的字符串
{string s;//首先定义一个空串 while(num>0)//进行逐位转换 {s=s+letter(num%m);//转为各位数字并调用定义的letter函数 num=num/m;//舍去最低为数字 }reverse(s.begin(),s.end());//调用函数反转字符串 return s;
}
int main()
{int n,m;cin>>n;getchar();//吸收空格!!! char a[100];cin>>a;cin>>m;int ans=num(a,n);//获取n进制字符串所对应的十进制数 string s;s=str(ans,m);//将得到的数进行m进制转换 printf("%s",s.c_str());//符合c语言逻辑加入.c_str()后缀
}

Python3疑惑点:有没有大佬教教我

def trans(B,s):##将s的B进制转换为十进制ans=0for i in s:ans=ans*B+num(i)return ans
def num(letter):##字符转换数字(较为暴力)if letter=='0':return 0if letter=='1':return 1if letter=='2':return 2if letter=='3':return 3if letter=='4':return 4if letter=='5':return 5if letter=='6':return 6if letter=='7':return 7if letter=='8':return 8if letter=='9':return 9if letter=='10':return 10if letter=='A':return 10if letter=='B':return 11if letter=='C':return 12if letter=='D':return 13if letter=='E':return 14if letter=='F':return 15if letter=='G':return 16
def to(num,A):##十进制数转换为A进制数s=""while num>0:s=s+let(num%A)num=num//Areturn s[::-1]##反转字符串
def let(n):##数字转换为字符a=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G']return a[n]
B=int(input())
s=input()
A=int(input())
ten=int(trans(B,s))
answer=to(ten,A)
print(answer)

输出答案正确但是出现RE

洛谷P1143 进制转换相关推荐

  1. 洛谷——P1017 进制转换

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

  2. 洛谷——P2084 进制转换

    P2084 进制转换 题目背景 无 题目描述 今天小明学会了进制转换,比如(10101)2 ,那么它的十进制表示的式子就是 : 124+0*23+122+0*21+1*2^0, 那么请你编程实现,将一 ...

  3. 洛谷 P2084 进制转换

    P4122 [USACO17DEC]Blocked Billboard 题目描述 During long milking sessions, Bessie the cow likes to stare ...

  4. P1143 进制转换

    题目描述 请你编一程序实现两种不同进制之间的数据转换. 输入格式 共三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16)n(2≤n≤16),第二行是一个n进制数,若n>10n> ...

  5. 洛谷 P1013 进制位

    P1013 进制位 题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: + L K V E L L K V E K K V E KL V V E ...

  6. 【Java】进制转换

    文章目录 八进制 直接数值赋值 来自字符串的转型 printf()输出八进制 八进制转型String 八进制总结 进制转换 X进制转Y进制 进制与位运算 计算二进制数中1的个数 八进制 直接数值赋值 ...

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

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

  8. 【进制转换】负进制转换 多进制转换

    1.负进制转换 洛谷P1017 进制转换 负进制的转换和正进制的转换雷同,都是用短除取余法,这里要保证余数都要是正数才行: 要想让本来余数是负数变为正数,其实很好操作,就直接让商+1,余数-(相应的进 ...

  9. 不怂Java进制转换(洛谷P1143题题解,Java语言描述)

    感慨 Java也能这么好使啊,不容易-- --进阶的JFarmer 题目要求 P1143题目链接 分析 进制转换其实也还好,但既然用了Java,那就得扬眉吐气一次,体会体会利用API轻松秒题的感受,机 ...

最新文章

  1. LeetCode简单题之检查某单词是否等于两单词之和
  2. kvm性能优化方案---cpu/内存/磁盘/网络
  3. ARP协议及ARP欺骗详解
  4. 通过ADO压缩数据库
  5. github设置中文_静态博客托管图片至 GitHub
  6. TotoiseSVN 使用参考文章
  7. pico park无法连接至远程服务器,pico park怎么联机玩?pico park怎么邀请朋友一起玩?[多图]...
  8. JSON 数据格式(基础知识)
  9. 从网管做到CIO---看如何提升IT人员职业价值
  10. vue自定义下拉菜单,点击下拉其它空白区域,下拉消失
  11. OgreSDK_Android_v1-9-0RC1 --Android 环境搭建
  12. 深入理解JAVA虚拟机大全
  13. 结果导向和自管理的联系
  14. html5做出toast效果,toast提示效果
  15. 水星路由器是linux系统,Mercury水星无线路由器设置教程(Windows XP系统)
  16. Predicting Human Mobility via Graph Convolutional Dual-attentive Networks
  17. 【沙滩爱心桌面主题】_9.4
  18. 林轩田机器学习技法(Machine Learning Techniques)笔记(一)
  19. 比心app源码,获取系统时间
  20. 基于STM32智能人体红外和声音感应声光控开关设计

热门文章

  1. 计算机教室的防潮防尘措施,中学电脑教室管理制度办法
  2. 深度学习训练营之DCGAN网络学习
  3. 如何使用优酷开放平台获取视频播放列表
  4. 多迪技术部告诉你菜鸟如何学习Python?
  5. caioj 1069 动态规划入门(二维一边推2:顺序对齐)(最长公共子序列拓展总结)
  6. 浅析Web Worker及实践
  7. 内容营销策略如何正确制造紧迫感避免产生“逆反心理”
  8. method ‘void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)‘ on a null object refe
  9. 键盘控制husky小车移动
  10. NoMachine Server 自动开启