10. 琪露诺的完美算数教室——⑨的统计I
成绩 | 10 | 开启时间 | 2016年09月6日 星期二 11:00 |
折扣 | 0.8 | 折扣时间 | 2016年09月10日 星期六 23:55 |
允许迟交 | 否 | 关闭时间 | 2016年10月10日 星期一 23:55 |
众所周知,琪露诺(チルノ,Cirno)是幻想郷 (げんそうきょう)中首屈一指的天才,可以说⑨就是她的代名词。
然而如今,她遇到了一个和⑨有关的难题。你能帮助她么?
题目是这样的,给出两个数 a 和 b (0 <= a <= b <= 10^10000),求 a 到 b 之间(包括a和b)的数字中,有多少个数字是包含9的(例如 19,910 等都是包含9的数字)。
输入
第一行为一个数字 T (0 < T <= 100) 表示数据组数。
之后的 T 行,每行包含两个数 a 和 b (0 <= a <= b <= 10^10000)。
输出
对每组数据输入,输出一个数字,表示 a 到 b 之间的数字中(包括a和b),有多少个数字是包含9的。(注意:答案可能很大)
这道题的思路是先计算出第一个数的包含9的个数,示例中的[0,0],然后计算出第二个数包含9的数的个数,实例中的[0,9],这两个过程实际是一样的,然后将两个9的个数做差,因为检测9程序会忽略边界问题,所以还需判断输入的边界这个数是否包含9,若有则需在统计结果中+1。这道题还有一个难点就是数值很大,需要改写之前a+b的程序为1 0000 0000进制,好应对题设中对存储空间的局限。
结果:
这道题目的方法上借鉴了很多online上的思路贴,真心感叹自己要努力的地方还有很多!哈哈哈加油吧!