进制转换

来源:互联网 发布:海康威视监控软件 编辑:程序博客网 时间:2024/06/11 16:22

G - 进制转换
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
Submit Status Practice HDU 2031

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
#include <iostream>#include <cstdio>char str[100];int solve(int a,int b){       int t=0;    while(a){str[t]=a%b;t++;a=a/b;}return t;}int main(){int n,m;while(~scanf("%d %d",&n,&m)){              if(n<0)        {        printf("-");        n=-n;}     int k=solve(n,m);for(int i=k-1;i>=0;i--){if(str[i]<=9) printf("%d",str[i]); else printf("%c",str[i]-10+'A');}printf("\n");}return 0; } 



原创粉丝点击