HDU 2031 进制转换
来源:互联网 发布:淘宝网棉麻绣花女装 编辑:程序博客网 时间:2024/06/06 01:06
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2031
进制转换
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 27424 Accepted Submission(s): 15172
Problem Description
输入一个十进制数N,将它转换成R进制数输出。
Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
Sample Input
7 223 12-4 3
Sample Output
1111B-11
令n=17,结果r="";
n除以2得商8余1,则r=1
再把8赋给n,得n=8
n除以2得商4余0,则r=10
再把4赋给n,得n=4
n除以2得商2余0,则r=100
再把2赋给n,得n=2
n除以2得商1余0,则r=1000
再把1赋给n,得n=1
n除以2得商0余1,则r=10001
商为0算法结束
最后把r反转
把数n从10进制转成m进制,原理也是如此,只不过某位数位上的数超过9就用字母表示
即
while(n!=0)
{
r=r+n%m(这里的加号'+'表示r后面添上一个数字)
n=n/m;
}
revsere(r)将r反转
下面是AC代码
#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<iostream>#include<algorithm>#include<sstream>#include<vector>#include<map>#include<stack>#include<list>#include<set>#include<queue>#define LL long long#define lson l,m,rt<<1#define rson m+1,r,rt<<1 | 1using namespace std;const int maxn=1005,maxe=100005,inf=1<<29;int n,m;char a[maxn];void solve(){ int p=0,flag=0; if(n<0) flag=1,n=-n; while(n) { if(n%m>9) a[p++]=n%m-10+'A'; else a[p++]=n%m+'0'; n/=m; } if(flag) printf("-"); while(p) printf("%c",a[--p]); printf("\n");}int main(){ while(~scanf("%d%d",&n,&m)) { solve(); } return 0;}
0 0
- HDU 2031 - 进制转换
- HDU 2031 进制转换
- Hdu 2031 - 进制转换
- HDU 2031 进制转换
- hdu 2031 进制转换
- hdu 2031 进制转换
- HDU 2031 进制转换
- HDU 2031 - 进制转换
- hdu-2031进制转换
- HDU 2031 进制转换
- HDU-2031-进制转换
- hdu 2031 进制转换
- [hdu 2031] 进制转换
- hdu 2031 进制转换
- hdu 2031 进制转换
- HDU 2031 进制转换
- hdu 2031 进制转换
- HDU 2031 进制转换
- 黑马程序员——Java基础---java面向对象基础
- 关于pip
- 平台自动分红,1960名额有限,带量咨询。
- double类型存储
- 对C++中的外部变量和外部函数的认识
- HDU 2031 进制转换
- 从C开始_结构体_结构数组2(程序讨论)+清空输入行原理
- PDO的使用 - 未完待续
- C/C++语言文件操作之fgets
- Class and Record Helpers
- 如何面试程序员
- emacs 中使用git diff命令行
- html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素讲解
- NetBIOS网络编程