进制转换(进制转换) 秒速五厘米 2022-08-02 15:41 322阅读 0赞 # 进制转换 # **Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 31674 Accepted Submission(s): 17612** Problem Description 输入一个十进制数N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。 Output 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。 Sample Input 7 2 23 12 -4 3 Sample Output 111 1B -11 Author lcy Source [C语言程序设计练习(五)][C] #include<cstdio> #include<iostream> #include<cstring> const int maxn=1000; using namespace std; int t[maxn],A[maxn]; char str1[maxn],str2[maxn]; int n,m; void solve(char *str1,char *str2,int n,int m) { int i,len,k; len=strlen(str1); for(i=len;i>=0;i--) { t[len-1-i]=str1[i]-(str1[i]<58?48:str1[i]<97?55:61); //小于58说明是48-57是数字 //小于97是65-90为大写英文字母 //大于97是97-122为小写英文字母! //同时也说明了0-9存的是数字 //10-25存的是大写字母 //26-61存的是小写字母 } for(k=0;len;) { for(i=len;i>=1;i--) { t[i-1]+=t[i]%m*n; t[i]/=m; } A[k++]=t[0]%m; t[0]/=m; while(len>0&&!t[len-1]) { len--; } } str2[k]=NULL; for(i=0;i<k;i++) { str2[k-1-i]=A[i]+(A[i]<10?48:A[i]<36?55:61); } } int main() { int m; while(cin>>str1>>m) { if(str1[0]=='-') { solve(str1+1,str2,10,m); cout<<"-"<<str2<<endl; } else { solve(str1,str2,10,m); cout<<str2<<endl; } } } [C]: http://acm.hdu.edu.cn/search.php?field=problem&key=+C%D3%EF%D1%D4%B3%CC%D0%F2%C9%E8%BC%C6%C1%B7%CF%B0%A3%A8%CE%E5%A3%A9&source=1&searchmode=source
相关 进制转换(进制转换) 进制转换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe 秒速五厘米/ 2022年08月02日 15:41/ 0 赞/ 323 阅读
相关 进制转换 题目:请自定义函数,并根据用户选择进行数据进制转换(注意完善相应的用户提示),十六进制数和十进制数互换,二进制数和十进制数互换,八进制数和十进制数互换。 \include<s 男娘i/ 2022年07月14日 14:50/ 0 赞/ 284 阅读
相关 进制转换 进制 A:是一种进位的方式。 B:任意的X进制,表示逢X进一。 C:0,1,2,3...9 \-- 10 二进制 其实就是用0和1表示的数据。 数据类 ﹏ヽ暗。殇╰゛Y/ 2022年07月12日 13:20/ 0 赞/ 139 阅读
相关 进制转换 输入一个以回车符结束的字符串(少于100个),过滤去所有的非十六进制字符后,组成一个新字符(十六进制形式),输出该字符串并将其转换为十进制数后输出。 include 谁践踏了优雅/ 2022年06月17日 01:41/ 0 赞/ 306 阅读
相关 进制转换 class ArrayTest1 { //十进制-->二进制 public static void toBin(int num r囧r小猫/ 2022年06月13日 13:46/ 0 赞/ 306 阅读
相关 进制转换 //十进制转二进制 public void toBinary(int num) { StringBuffer buffer = new StringBuffer 亦凉/ 2022年06月01日 09:20/ 0 赞/ 277 阅读
相关 进制转换 Problem Description 输入一个十进制数N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R 以你之姓@/ 2022年05月11日 05:48/ 0 赞/ 268 阅读
相关 进制转换 进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一 梦里梦外;/ 2021年12月12日 02:09/ 0 赞/ 1060 阅读
相关 进制转换 有以下程序 main( ) { int x=102,y=012; printf("%2d,%2d\n",x,y); } 执行后 r囧r小猫/ 2021年09月30日 06:38/ 0 赞/ 459 阅读
相关 javascript 进制转换(2进制、8进制、10进制、16进制之间的转换) //十进制转其他 var x=110; alert(x); alert(x.toString(8)); alert(x.toString(32)); 不念不忘少年蓝@/ 2021年09月29日 13:46/ 0 赞/ 528 阅读
还没有评论,来说两句吧...