码迷,mamicode.com
首页 > 其他好文 > 详细

1到N中1出现的次数

时间:2015-07-17 20:57:37      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
这个问题关键在于好好分析一些样例如:
给定123这个数,你说这个从1到123所有数字中,1出现的次数是多少?
首先我们要分析个位上1出现的次数,我们看看什么情况下个位出现1:
1,11,21,31,41,-----91,101,111,121,
因为从1-123中其实就是有多少个十就行了。
你看下从1到100个位出现1的情况:
1,11,21,31,41,51,------91。有多少个呢?
就是10*1=10个 
其实就是从01,11,21,31,41,51-----91当然是10了。
就是1-100中个位有10个1.
然后再从101-123呢个位有多少个1?
就是101,111,121,有(2+1)*1=3个。
其实我们可以这样了。
那么再分析十位上出现1的情况:
1-123.
则有10-19    110-119
有多少个呢?
首先看1-100有
10-19 有10个
然后110-119 有10个
则有(1+1)*10=20个
为什么是1+1?
其实和123中10位数字有关,你想如果是103呢十位有多少个1?
就是1*10=10个
113呢?
就是1*10+3=13.
123呢?
2>1呢
(1+1)*10=20了。
于是就有规律了。 
技术分享
源代码:






1到N中1出现的次数

标签:

原文地址:http://www.cnblogs.com/yml435/p/4655474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!