/*** 统计0-n数字中出现k的次数,其中k范围为0-9
*/
public static int countOne(int k, int n) {if (k > n) {return 0;}int sum = 0;int right = 0;for (int i = 0; n > 0; i++) {int last = n % 10;sum += last * i * (int) Math.pow(10, i - 1);if (k == 0) {sum -= (int) Math.pow(10, i);}if (last > k) {sum += (int) Math.pow(10, i);}if (last == k) {sum += right + 1;}right += last * Math.pow(10, i);n /= 10;}return sum + (0 == k ? 1 : 0);}