这个题目就是让我们实现进制的转换。

我只会很简单的把他从一个别的进制转化成10进制,然后再继续转化成目标进制。

#include<iostream>
#include<cstdio>
#include<map>
#include<cmath>
using namespace std;
long long a,b,shu,hh,e[100];
string s,jg;
string sz=0123456789ABCDEF;//这是最后用来转化输出的,我不想把10以内和以外的数特判,所以写了个这东西。
map<char,int>mp;
int main()
{
cin>>a;
cin>>s;
cin>>b;
mp['A']=10;//转化,表示‘a'的值是10;
mp['B']=11;
mp['C']=12;
mp['D']=13;
mp['E']=14;
mp['F']=15;
for(int i=0;i<s.length();i++)
{
if(s[i]-'0'>=0&&s[i]-'0'<=9)//如果不是10或以外的数,直接-’0‘,然后计算。
{
shu+=(s[i]-'0')*pow(a,s.length()-i-1);
}else//是10或以外的数就看看它对应的是哪个。
{
shu+=mp[s[i]]*pow(a,s.length()-i-1);
}
}
while(shu!=0)//转化成目标进制的数。
{
e[hh]=shu%b;
hh++;
shu/=b;
}
for(int i=hh-1;i>=0;i--)由于是从第到高转化的,所以要反过来输出。
{
cout<<sz[e[i]];
}
return 0;
}

总的来说,这个题只要知道字符串的操作和如何转化就非常好做。

最新文章

  1. 大型网站的灵魂&mdash;&mdash;性能
  2. CSS3 Media Queries 实现响应式设计
  3. [UML]UML系列——包图Package
  4. OpenSSL漏洞补救办法详解(转)
  5. form中的GET与POST
  6. atitit.无线网卡 不能搜索到WiFi 无线路由信号的解决不能上网
  7. 【背景建模】VIBE
  8. 虚拟机guest为windows7的环境下安装破解版simplify3d_3.0.2
  9. js去掉所有空格
  10. 除trigger()方法外的jquery手动触发事件
  11. Android灯光系统--深入理解背光灯
  12. Xamarin.iOS + MvvmCross: UIPickerView data binding, SelectedItemChanged event
  13. Linux命令之远程下载命令:wget
  14. LeetCode之“动态规划”:House Robber &amp;&amp; House Robber II
  15. Python eval 函数妙用
  16. Kubernetes 笔记 06 豌豆荚之旅(一)
  17. Python面向对象1:类与对象
  18. hibernate框架学习之增删改查helloworld
  19. linux下使用命令修改IP地址
  20. js函数式编程——蹦床函数

热门文章

  1. HTML新增的语义化标签及其作用
  2. IOS App破解之路一 拿到appstore上的ipa
  3. cb08a_c++_顺序容器的操作1
  4. mysql主从同步失败 Relay log read failure: Could not parse relay log event entry
  5. Newtonsoft 六个超简单又实用的特性,值得一试 【下篇】
  6. android面试详解
  7. 防火墙识别、负载均衡识别、waf识别
  8. 01-最大子列和问题(java)
  9. Java工具类—包装类
  10. HTTPS加密协议详解(一):HTTPS基础知识