Hdu 2031 (进制转换)

来源:互联网 发布:2017淘宝c店 编辑:程序博客网 时间:2024/06/05 07:15

【题意】把一个x进制的数,转换成y进制表示

【AC代码】

#include <stdio.h>#include <string>#include <iostream>#include <algorithm>using namespace std;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+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;}int main(){int N,R;while(~scanf("%d%d",&N,&R)){string tmp;char s[102];sprintf(s,"%d",N);tmp=s;string ans = transform(10,R,tmp);cout<<ans<<endl;}return 0;}


0 0
原创粉丝点击