题目描述
试计算在区间 1 到 n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如,在 1到11中,即在 1,2,3,4,5,6,7,8,9,10,11 中,数字 1 出现了 4 次。
输入格式
2个整数n,x,之间用一个空格隔开。
输出格式
1个整数,表示x出现的次数。
输入
11 1
输出
4
说明/提示
对于 100%的数据,1≤ n ≤ 1,000,000 ,0 ≤ x ≤ 9。
题解:
import java.util.Scanner;
public class P1980NOIP2013普及组计数问题 {
static int sum=0;
static void contains(int h,int x) {
int n=h; //不加这个会出错,因为不能改变h初值
while (n!=0) {
if (n%10==x) sum++;
n/=10;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int x=in.nextInt();
for (int i=1;i<=n;i++) {
contains(i,x); //sum++;
}
System.out.println(sum);
}
}