题目概况
链接:https://www.luogu.com.cn/problem/P1017
难度:普及/提高-
题目分析
一道数学题。
首先我们知道,十进制转N进制需要采用除法取余,倒序输出的方法。但是题目中说明:使用的是负进制。
它的转换方法和正整数进制相同(详情移步度娘),但我们就会发现一个问题:在C++中取模给出了负数
如图,-15 % -7 = -1
那问题明了,如何将负数化为非负数?
解答: 已知:商*除数+余数=被除数,则样例为 2 * (-7) + (-1) = -15,我们可以把商加上1(等同于被除数再加一个除数),然后余数减去一个除数的方式转化为非负数。
That’s all,然后就可以切题了
代码实现
考虑运用递归,递时转换、归时输出<