美文网首页优美编程
1000里面有几个7

1000里面有几个7

作者: 小遁哥 | 来源:发表于2019-11-16 14:30 被阅读0次

    导读

    先求出包含7的数有哪些

    这个问题用穷举是很好回答的

        let count = 0;
        for (let i = 0; i < 1000; i++) {
          if ((i + "").indexOf("1") !== -1) {
           
            count++;
          }
        }
    

    271个

    过程时这样的

    当只有1个位置上有 7时

    7在个位上时,个位有9种,十位有9种,一个81种

    7 在十位、百位上时同上,一共243种

    当只有2个位置上有 7时

    个位、十位上有7时,百位有9种情况

    个位、百位和十位、百位同上 一个27种

    当三个位置上有7的时候

    1种 所以一共243 + 27 + 1 => 271

    每个7都算 个位置上有 7时要乘2 + 27 三个位置上有7的时候 +2 一共

    300

    image

    1-9都适用上面的推导,然而0不行

    当只有1个位置上有0时

    0在个位,十位有9种,百位有9种,一个81种

    0在十位,个位有9种、百位有9种 一共81种

    0在百位 因为089 这样的数只能看作89,如果看成1089就大于1000了,但是1-9的数字不会,比如789

    一共162

    当只有2个位置上有 0时

    个位、十位上有0时,百位有9种情况
    个位、百位上有0时,十位有9种情况
    十位、百位有0,009的数字只能看作9,如果看成1009大于1000了,但是1-9的数字不会,比如660

    一共18

    当三个位置上有0的时候

    1种 所以一个162 + 18 + 1 => 181

    每个0都算
    个位、十位上有0时 +9
    个位、百位上有0时 不加 列入90 只有一个0
    三个位置上有0的时候 看作0

    190

    相关文章

      网友评论

        本文标题:1000里面有几个7

        本文链接:https://www.haomeiwen.com/subject/kusyictx.html