HDU-2031-进制转换
2016-02-05 18:05
316 查看
#include<iostream> #include<cstdio> #include<math.h> using namespace std; int shi(int m); char pipei(int m); int main() { int n,R; while(scanf("%d%d",&n,&R)!=EOF) { int wei[33],i=1,yu,chu,zhuan=0; char str[33]; if(n>0) { chu=n/R; yu=n%R; str[1]=pipei(yu); while(chu!=0) { i=i+1; str[i]=pipei(chu%R); chu=chu/R; } int z; for(z=i;z>=1;z--) { printf("%c",str[z]); } printf("\n"); /* if(R<10) { for(z=1;z<=i;z++) { zhuan=wei[z]*shi(z)+zhuan;//10以内进制转换 } printf("%d\n",zhuan); } else { }*/ } else { n=n*(-1); chu=n/R; yu=n%R; str[1]=pipei(yu); while(chu!=0) { i=i+1; str[i]=pipei(chu%R); chu=chu/R; } int z;printf("-"); for(z=i;z>=1;z--) { printf("%c",str[z]); } printf("\n"); /* for(z=1;z<=i;z++) { zhuan=wei[z]*shi(z)+zhuan;//10以内进制转换 } printf("-%d\n",zhuan);*/ } } return 0; } char pipei(int m) { if(m==0){return '0';} if(m==1){return '1';} if(m==2){return '2';} if(m==3){return '3';} if(m==4){return '4';} if(m==5){return '5';} if(m==6){return '6';} if(m==7){return '7';} if(m==8){return '8';} if(m==9){return '9';} if(m==10){return 'A';} if(m==11){return 'B';} if(m==12){return 'C';} if(m==13){return 'D';} if(m==14){return 'E';} if(m==15){return 'F';} } int shi(int m)//计算位数的10*10*..... { int i,z=1; for(i=1;i<m;i++) { z=z*10; } return z; } //其中注释掉的部分是对于10以内的进制的转换
相关文章推荐
- bzoj2819 Nim
- Linux install 命令
- Spring MVC (Java),强制页面不缓存
- MySQL之grant、revoke用法
- oracle job 定时执行 存储过程
- POJ 1743 Musical Theme 后缀数组 不可重叠最长反复子串
- oracle job的建立及执行
- 大年初四我要结婚来,参加婚礼路线图
- 测试linux中expect的timeout参数的作用
- 测试常用公式
- 改变nginx logrotate方式采用sh文件自动切割日志文件
- Python教程学习简记3--Python 切片
- JAVA多线程和并发基础面试问答
- 继承的概述
- 【树DP】【基环树】[ZJOI2008][HYSBZ/BZOJ1040]骑士
- iOS开发系列--地图与定位
- 如何让python程序运行得更快
- MySQL远程连接
- LeetCode203 删除单链表中值等于val的结点
- HTTP协议详解(真的很经典)