进制转换
来源:互联网 发布:网络黑客攻击 编辑:程序博客网 时间:2024/06/05 06:16
【任务】
把一个x进制的数转换成一个y进制的数
模板:
string transform(int x,int y,string s){ string res=""; int sum=0; for(int i=0;i<s.length();++i) { if(s[i]=='-') continue; if(s[i]>='0'&&s[i]<='9') { sum=sum*x+s[i]-'0'; } else { sum=sum*x+s[i]-'A'+10; } } while(sum) { char tmp=sum%y; sum/=y; if(tmp<=9) { tmp+='0'; } else { tmp=tmp-10+'A'; } res=tmp+res; } if(res.length()==0) res="0"; if(s[0]=='-') res='-'+res; return res;}
题目:
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2031
#include<iostream>#include<cstdio>#include<cstring>#include<string>using namespace std;string s;int r;string transform(int r,string s){ string res=""; int sum=0; for(int i=0;i<s.length();++i) { if(s[i]=='-') continue; if(s[i]>='0'&&s[i]<='9') { sum=sum*10+s[i]-'0'; } else { sum=sum*10+s[i]-'A'+10; } } while(sum) { char tmp=sum%r; sum/=r; if(tmp<=9) { tmp+='0'; } else { tmp=tmp-10+'A'; } res=tmp+res; } if(res.length()==0) res="0"; if(s[0]=='-') res='-'+res; return res;}int main(){ while(cin>>s>>r) { string tt=transform(r,s); cout<<tt<<endl; } return 0;}
0 0
- 进制转换,类型转换
- 进制转换(进制转换)
- 进制转换-----十进制转换成二进制
- 进制的转换,八进制转换十六进制
- 进制转换,运算符,类型转换,
- 十进制转换2-9进制转换
- 进制转换
- 无限进制转换
- 进制转换
- 进制转换
- 进制转换
- 【整理】进制转换
- 进制转换
- 七、进制转换
- 进制转换
- 进制转换
- 进制转换
- NotesScript 进制转换
- 概率性的bug比较恼人(软件质量不是一句废话)
- UVA 1329 - Corporative Network(带权并查集)
- Ogre1.7.2 + CEGUI0.7.5配置
- 南阳766 想好久都错,原来可以这样
- 黑马程序员_java基础篇之网络编程
- 进制转换
- Redhat中设置环境变量PATH的方法
- hdoj 1492 The number of divisors(约数) about Humble Numbers 【数论】【质因子分解 求和】
- Linux系统编程(14)——shell常用命令
- BOJ 444. 爱好和平
- 常用电路设计软件简介
- java基础练习
- 寡瞻潭手晨哟市磺克图乌看谏改晨
- 种页手钡兄雇鬃勺狈沃刨鞍喝渍奶