首页 > 其他 > 详细

进制转换

时间:2015-06-06 14:56:06      阅读:182      评论:0      收藏:0      [点我收藏+]

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 31114    Accepted Submission(s): 17310

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

 

#include<stdio.h>
void f(int a,int b)
{
 int k;
 if(a<0)
 {
  k=-a;
  printf("-");
 }
 else k=a;
  if(k/b)
 f(k/b,b);
 printf("%d",k%b);
}
void h(int a,int b)
{
 int c;
 if(a<0)
 {
  c=-a;
  printf("-");
 }
 else c=a;
 if(c/b)
 h(c/b,b);
 if(c%b==10)
 printf("A");
 else if(c%b==11)
 printf("B");
 else if(c%b==12)
  printf("C");
 else if(c%b==13)
 printf("D");
 else if(c%b==14)
 printf("E");
 else if(c%b==15)
 printf("F");
 else printf("%d",c%b); 
}
main()
{
 int a,b,n,i,j;
 while(scanf("%d%d",&a,&b)!=EOF)
   {
    if(b<=10)
 f(a,b);
 if(b>10)
 h(a,b);
 printf("\n");
   }
 return 0;
}

进制转换

原文:http://blog.csdn.net/l15738519366/article/details/46388177

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!