zoukankan      html  css  js  c++  java
  • 1到N中1出现的次数

    这个问题关键在于好好分析一些样例如:
    给定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了。
    于是就有规律了。 

    源代码:






  • 相关阅读:
    Ajax调用 打不开新窗口
    杂记3
    todo WebClient学习
    Repeater 嵌套
    动态生成数个gridview Button得到隐藏ID列的值
    SQL 查询间隔时间大于60s的所有数据
    Apache DbUtils
    一步步学Mybatis-告别繁琐的配置之Mybatis配置文件生成工具 (7)
    一步步学Mybatis-怎么样实现动态SQL查询(6)
    一步步学Mybatis-实现简单的分页效果逻辑 (5)
  • 原文地址:https://www.cnblogs.com/yml435/p/4655474.html
Copyright © 2011-2022 走看看