阅读193 返回首页    go 阿里云 go 技术社区[云栖]


在从1到n的正数中1出现的次

 

题目:输入一个整数n,求从1nn个整数的十进制表示中1出现的次数。

例如输入12,从112这些整数中包含1 的数字有11011121一共出现了5次。

 

如:

30143:
由于3>1,则个位上出现1的次数为(3014+1)*1
由于4>1,则十位上出现1的次数为(301+1)*10
由于1=1,则百位上出现1次数为(30+0)*100+(43+1)
由于0<1,则千位上出现1次数为(3+0)*1000

注:以百位为例,百位出现1为100~199,*100的意思为单步出现了100~199,100次,*30是因为出现了30次100~199,+(43+1)是因为左后一次301**不完整导致。

 

最后更新:2017-04-02 06:51:52

  上一篇:go 解决通过Intent调用系统拍照程序,返回图片太小的问题[android]
  下一篇:go android状态栏中多个通知冲突的问题