FAFU OJ 进制转换题目

来源:互联网 发布:电商网站性能优化 编辑:程序博客网 时间:2024/06/03 05:34
进制转换题目
Time Limit:1000MSMemory Limit:65536KBTotal Submissions:59Accepted:28Share
Description:
      输入一个十进制数N,将它转换成R进制数输出。
Input:
输入数据包含多个测试实例,每个测试实例包含两个整数N(int范围)和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
Source:
#include <stdio.h>#include <iostream>using namespace std;void change(int n,int r){if (n < r){if (10 == n){printf("A");}else if (11 == n){printf("B");}else if (12 == n){printf("C");}else if (13 == n){printf("D");}else if (14 == n){printf("E");}else if (15 == n){printf("F");}else{printf("%d",n);}}else{change(n/r,r);change(n%r,r);}}int main(){int n,r;while (scanf("%d%d",&n,&r) != EOF){if (n < 0){n *= -1;printf("-");}change(n,r);printf("\n");}return 0;}