题目描述
试计算在区间 $1$ 到 $n$ 的所有整数中,数字 $x$ 共出现了多少次?
例如,在 $1$ 到 $11$ 中,即在 $1、2、3、4、5、6、7、8、9、10、11$ 中,数字 $1$ 出现了 $4$ 次。
输入格式
输入共 $1$ 行,包含 $2$ 个整数 $n、x$,之间用一个空格隔开。
输出格式
输出共 $1$ 行,包含一个整数,表示 $x$ 出现的次数。
数据范围
$1 \\le n \\le 10^6$,
$0 \\le x \\le 9$
输入样例:
11 1
输出样例:
4
算法
(模拟) $O(nk)$
k是位数
直接写,开摆
C++ 代码
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n,m,ans;
void f(int x)
{
while(x)
{
if(x%10==m) ans++;//如果这一位是m,答案+1
x/=10;
}
}
int main()
{
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; i ++ ) f(i);//求一下
cout<<ans;
}