A-想要更多的0_2022河南萌新联赛第(六)场:郑州大学 (nowcoder.com)
这个题思路倒是很好想到主要是处理[0,n]区间内0出现的次数
考虑这个问题 比如对3891205举例。
-
我们取到数第四位数,其形式也就可以是xxx0xxx这种情况你前面可以取[1,389]后面可以取[0,999]所以答案就是389*1000。这种情况是小于本位
-
如果我们取倒数第二位,xxxxx0x前面可以取[1,38911]后面可以取[0,9],但是我前面也可以取38912但是后面就只能取[0,5]了。所以这种情况就是38911*10+6;,这种情况是等于本位
这已经足够解决这个问题了,我们将问题延伸到1-9这样的数字,就多了一种情况就是大于本位,还是拿上面那个数举例子。xxx6xxx
这样子就是高位只能取[0,388]了,因为取389无论如何都是大于原数的。
思路来源:
