NOJ1012-进制转换

进制转换

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 2214            测试通过 : 645 

比赛描述

将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。

输入

多行。第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。

输出

多行。每行给出转换后的R进制数。

样例输入

3
7 2
23 12
-4 3

样例输出

111
1B
-11

提示

题目来源

GUOJ

题目要求很简单,十进制转R进制,我用的递归,用栈也可以实现。

#include <cstdio>

void fun( int n, int r ) {
if( n ) {
fun( n / r, r );
int temp = n % r;
if( temp >= ) {
printf( "%c", temp + );
}
else {
printf( "%d", temp );
}
}
}
int main() {
int n;
int i;
int a, r;
scanf( "%d", &n );
for( i = ; i < n; i++ ) {
scanf( "%d%d", &a, &r );
if( a < ) {
a = -a;
printf( "-" );
}
if( a == ) {
printf( "" );
}
else
fun( a, r );
printf( "\n" );
}
return ;
}
上一篇:《深入理解mybatis原理1》 MyBatis的架构设计以及实例分析


下一篇:高级数据库及一步一步搭建versant数据库