【洛谷题解/NOIP2000提高组】P1017 进制转换

题目概况

链接https://www.luogu.com.cn/problem/P1017
难度:普及/提高-

题目分析

一道数学题。
首先我们知道,十进制转N进制需要采用除法取余,倒序输出的方法。但是题目中说明:使用的是负进制。
它的转换方法和正整数进制相同(详情移步度娘),但我们就会发现一个问题:在C++中取模给出了负数
如图,-15 % -7 = -1
如图为测试结果
那问题明了,如何将负数化为非负数?
解答: 已知:商*除数+余数=被除数,则样例为 2 * (-7) + (-1) = -15,我们可以把商加上1(等同于被除数再加一个除数),然后余数减去一个除数的方式转化为非负数。
That’s all,然后就可以切题了

代码实现

考虑运用递归,递时转换、归时输出<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oier_Asad.Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值