進数変換2031


Problem Description


10進数Nを入力し、R進数出力に変換します.
 
 
Input
入力データは複数の試験例を含み、各試験例は2つの整数N(32ビット整数)とR(2<=R<=16,R<>10)を含む.
 
 
Output
変換された数をテストインスタンスごとに出力し、出力ごとに1行を占めます.Rが10より大きい場合、対応する数値規則は16進数(例えば、10はAで表されるなど)を参照する.
 
 
Sample Input
7 2 23 12 -4 3
 
 
Sample Output
111 1B -11
 
 
Author
lcy
 
 
Source
C言語プログラミング練習(五)
 
 
Recommend
lcy   |   We have carefully selected several similar problems for you:  
2029  
2028  
2044  
2041  
2040  
 
 
 
 1 #include <stdio.h>

 2 #include <string.h>

 3 

 4 void ttor(int n, int r)

 5 {

 6     if (n)

 7     {

 8         ttor(n / r, r);

 9         printf("%c", n % r > 9 ? n % r - 10 + 'A' : n % r + '0');

10     }

11 }

12 

13 int main(void)

14 {

15     int n;

16     int r;

17 

18     while (scanf("%d%d", &n, &r) != EOF)

19     {

20         if (n > 0)

21             ttor(n, r);

22         else if (!n)

23             putchar('0');

24         else

25         {

26             putchar('-');

27             ttor(-n, r);

28         }

29         putchar('
'); 30 } 31 32 return 0; 33 }