8.算法题,不知道对不对,仅分享一下思路。 对于给定的数字N,从个位向高位递归的求取最小的大值。对于个位数:除0以外的值对应的最小的大值都是十位为1的两位数。例如:416,6—15(15是6对应的最小的大值)接着16—15+10=25(25是16对应的最小的大值)接着416—400+25=425(425就是416的最小的大值),得到答案。计算到最高位后,结果中出现的0(不管什么位置上的),可以依次向前移动到最高位,直到移动后导致数值小于原数停止。最后得到答案。例:321—330,此0若与十位上的3交换位置则会导致小于321的情况出现,故330即为321的最小的大值。例:50—140,此0与十位的4交换后仍大于50则进行换位。
点赞 评论

相关推荐

牛客网
牛客企业服务