楼上两位 你们搞笑了...看看数据范围吧for i:=m to n do 很有可能要等上几个小时这道题的标准解法:设S[n, k]表示1到n出现的数字k个数。则m到n中数字k出现的总次数为S[n, k] - S[m-1, k]故只需要设计一个算法使得可以在较快时间内算出1到r中出现各种数字次数就可以了。注意到数字的出现是相当有规律的,如果r = 123,那么只看个位的话出现序列是1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,.....7,8,9,0,1,2,3其中1234567890这个子序列出现了[123/10]=12次 ...
|