侃侃无极
先考虑000000 ~ 999999(假设不忽略前面的 0) 一共一百万个数,这一百万个数一共有10^6 * 6 个数字,10个数字都是对称的,因此,一共有10^6*6/10 = 6*10^5 个 0。 但是对于不足 6 位的数我们要去掉第六位上的 0, 这一共有 10^5 个数,对于不足 5 位的数我们要去掉第五位上的 0, 这一共有 10^4 个数。。。。。最后还要加上 100万的六个0。 因此6*10^5 - 10^5 - 10^4 ... - 10 - 1 + 6 = 488895个按@Masterton 个的 PHP 转个 JS 是var a=[], i;for(i=0; i< 1000000; i++) {a[i] = i+1;}num = a.join('').replace(/[1-9]/g,'').length;结果也是488895