【算法笔记】 简单进制例题及详解与程序 |
您所在的位置:网站首页 › 二十进制转换例题解析 › 【算法笔记】 简单进制例题及详解与程序 |
1.进制转换
题目描述 请你编一程序实现两种不同进制之间的数据转换。 输入格式 输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10则用大写字母A~F表示数码10~15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)。 输出格式 输出仅一行,包含一个正整数,表示转换之后的m进制数。 样例数据 input 16 FF 2 output 11111111 数据规模与约定 保证2≤m,n≤16 2≤m,n≤16 。 时间限制:1s 1s 空间限制:256MB 256MB 大致思路:一般情况下,将初始的数据a进制转化成为十进制,再将十进制转化成为需要求的进制 1.将初始值转化为十进制:枚举初始的数s的每一位,答案为sum里,当我们枚举i时,sum=sum*a+s[i]; 2.将10进制转换成b进制 设计数为tmp 存在数组a中 while (s) {a[++tmp]=s%b,b/=10;}若要输出则从tmp到1倒序输出即可 参考代码: #include using namespace std; int main() { int a,c,s=0,t=0; string ss,b; ss="0123456789ABCDEF"; cin>>a; cin>>b; cin>>c; for (int i=0;i='0'&&b[i]=1;i--) cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |