试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?
例如,在1到11 中,即在1、2、3、4、5、6、7、8、9、10、11 中,数字1 出现了4 次。
输入共1行,包含2个整数n、x,之间用一个空格隔开。
输出共1行,包含一个整数,表示x出现的次数。
11 1
4
对于100%的数据,1≤ n ≤ 1,000,000,0 ≤ x ≤ 9。
#include <stdio.h> int main() { int n, x; int count = 0; scanf("%d %d", &n, &x); for (int i = 1; i <= n; i++)//每一次循环判断一个数,直到n为止 { int a = i; while (a)//利用while循环判断每一位数字,直到a等于0, { if (a % 10 == x)//如果个位上的数字是x,count加一 count++; a /= 10;//将个位上的数字去除,十位上的数字变成个位上的数字 } } printf("%d", count); return 0; }
#include <stdio.h> int main() { int n, x,count=0,b; while (scanf("%d %d\n", &n, &x) == 2) { for(int i=1;i<=n;i++) { b=i; while(b) { if(b%10==x) { count++; } b/=10; } } printf("%d\n",count); } return 0; }
#include<stdio.h> int main() { int n,x,cur; int count = 0; scanf("%d %d",&n,&x); for(int i = 1;i <= n;i++) { cur = i; while(cur) { if(x == cur % 10) count++; cur /= 10; } } printf("%d\n",count); return 0; }
#include<stdio.h> int main() { int n , x , mid_var0 , mid_var1 , mid_var2 , sum = 0 ; scanf("%d %d",&n,&x); for(int i = 1 ; i <= n ; i++) { mid_var0 = i ; while(mid_var0 != 0) { mid_var1 = mid_var0 % 10 ; if(mid_var1 == x) sum++; mid_var0 /= 10 ; } } printf("%d",sum); return 0; }
#include <stdio.h> void Judge(int i, int b, int* count){ while(i > 0){ if(i % 10 == b) *count += 1; i /= 10; } } int main(){ int a, b; int count = 0; scanf("%d %d", &a, &b); for(int i = 1; i <= a; i++){ Judge(i, b, &count); } printf("%d", count); return 0; }
int main() { int a,b,c,count,t; scanf("%d%d",&a,&b); for(c=1;c<=a;c++) { int j=c; while(j>0) { t=j%10; if(t==b)count++; j/=10; } } printf("%d",count);
#include<stdio.h> int main() { int n = 0; int x = 0; int i = 0; scanf("%d %d",&n,&x); int count = 0; for(i = 1;i<=n;i++) { int tmp = i; while(tmp) { if(tmp%10 == x) count++; tmp = tmp/10; } } printf("%d",count); return 0; }