求小于N的正整数中含有1的数字的个数

来源:互联网 发布:2014网络十大神曲 编辑:程序博客网 时间:2024/04/29 18:18

比如:如果n= 11,那么返回3.因为有1 ,10 ,11

下面是具体实现的代码

  /**     * 判断小于10000的数中含有1的正整数的个数     * @param number     * @return      */    public static int countOne(int number) {        //统计1的个数        int sum = 0;        //把数字转换成字符        String end = String.valueOf(number);        int i = 1;        String begin = String.valueOf(1);//        for (; begin.compareTo(end) != 0; ) {//            //如果包含1就递增//            if (begin.contains("1")) {//                sum++;//            }//            i++;//            begin = String.valueOf(i);//        }                while(begin.compareTo(end) != 0){             if (begin.contains("1")) {                sum++;            }            i++;            begin = String.valueOf(i);        }                return ++sum;    }    public static void main(String[] args) {        int number = 41;        System.out.println(countOne(number));    }


原创粉丝点击