PAT 1049 Counting Ones [难]

Posted bluebluesea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT 1049 Counting Ones [难]相关的知识,希望对你有一定的参考价值。

1049 Counting Ones (30 分)

The task is simple: given any positive integer N, you are supposed to count the total number of 1‘s in the decimal form of the integers from 1 to N. For example, given N being 12, there are five 1‘s in 1, 10, 11, and 12.

Input Specification:

Each input file contains one test case which gives the positive N (2?30??).

Output Specification:

For each test case, print the number of 1‘s in one line.

Sample Input:

12

Sample Output:

5

 题目大意:给出一个数m,计算1~m中的数包含的所有的1的个数。

//我绝对是看过这道题,但是真的想不起来怎么做了,当时就没怎么看懂。数据量这么大,指定不能一个一个算,需要技巧。

//个位是1+十位是1+。。。。。这样会不会有重复?不会吧。

//这个真的好难,看了好久才明白。

技术分享图片

技术分享图片

如何计算left和now和right也值得注意!自己求的话就不太会求的。

以上是关于PAT 1049 Counting Ones [难]的主要内容,如果未能解决你的问题,请参考以下文章

PAT 1049 Counting Ones (30)

PAT.1049 Counting Ones(排列组合)

PAT.1049 Counting Ones(排列组合)

PAT (Advanced Level) Practice 1049 Counting Ones (30 分)

PAT Advanced 1049 Counting Ones (30) [数学问题-简单数学问题]

PAT (Advanced Level) 1049 Counting Ones