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

    源代码:






  • 相关阅读:
    Excel两列查找重复值
    Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原
    Ubuntu 搭建 GitLab 笔记 ***
    JIRA使用
    Android.mk文件LOCAL_MODULE_TAGS 说明
    Git Reset 三种模式
    Android常用的编译命令
    Android源码编译
    AOSP---"Android Open-Source Project"
    理解 Android Build 系统
  • 原文地址:https://www.cnblogs.com/yml435/p/4655474.html
Copyright © 2011-2022 走看看