• 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了。
    于是就有规律了。 

    源代码:






  • 相关阅读:
    wait waitpid
    达梦备份还原
    sigprocmask阻塞信号
    sigaction信号处理
    dd命令
    linux系统启动过程
    cpio建立、还原备份档
    configure详解
    Git入门基础教程
    一篇文章了解Github和Git教程
  • 原文地址:https://www.cnblogs.com/yml435/p/4655474.html
Copyright © 2020-2023  润新知