首页 > 试题广场 >

在0到99999这100000个数中,数字8出现了多少次?

[单选题]
在0到99999这100000个数中,数字8出现了多少次?
  • 4000
  • 4999
  • 50000
  • 27545
  • 其他都不对

public static void main(String[] args) {

        int sum = 0;

        for (int i = 1; i <= 99999; i++) {

            int tmp2 = i;

            while (tmp2 != 0) {

                int tmp = 0;

                tmp = tmp2 % 10;

                // System.out.println(tmp);

                if (tmp == 8) {

                    sum++;

                }

                tmp2 /= 10;

            }

        }

        System.out.println(sum);

    }

发表于 2019-03-29 19:47:47 回复(0)
从0-9,每个数字出现的次数一样,1*10/10 = 1;
从00-99,每个数字出现的次数一样,2*100/10=20;
从000-999,每个数字出现的次数一样,3*1000/10=300;
从0000-9999,每个数字出现的次数一样,4*10000/10=4000;
从00000-99999,每个数字出现的次数一样,5*100000/10=50000;
发表于 2018-12-07 19:12:43 回复(3)
以000-999为例,个位数上的8出现次数为_ _ 8,即10*10,同理十,百位数上出现8也都为10*10,共3*10*10
注意:888中8出现了三次
发表于 2019-03-30 13:11:15 回复(0)
public class 有几个八 {
    public static void main(String[] args) {
        int n = 10;
        int[] dp = new int[n];
        dp[0] = 1;
        for (int i = 1; i < n; i++) {
            int j = i;
            int jj = 1;
            while(j>0){
                jj*=10;
                j--;
            }
            dp[i] = dp[i-1]*10+jj;
        }
        System.out.println(dp[4]);
    }
}

编辑于 2020-03-22 14:08:32 回复(0)
发表于 2018-11-12 22:56:39 回复(0)
???
发表于 2018-11-10 15:53:49 回复(0)