您的位置:首页 > 其它

hdu_2031_进制转换_解题报告

2013-04-03 10:27 176 查看
题目出处

简单题

思路:

将十进制的32位整数转换成其他进制,这个可以用余数定理,关于进制转换的文章谷歌一下已很多,这里不详述

此题解法可以采用最简单最直接想到的方法,就是保存转换后的数,再倒序输出,可以利用打表技巧输出:

char    table[] = "0123456789ABCDEF";


另一个解法就是用,前几次的计算的结果不输出,压栈,直到最后的数为零时终止并向上返回,这时就出栈,把压栈的结果逐个输出

关键代码:

void fun(int n, int r)
{
if (n)
{
fun(n / r, r);
printf("%c", n % r > 9 ? n % r - 10 + 'A' : n % r + '0');
}
}


参考资料:
http://redraiment.com/?p=data/software/algorithm/hdu/2031.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: