求小于N的正整数中含有一的数字的个数
求小于N的正整数中含有1的数字的个数
比如:如果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)); }