题目描述
给定两个正整数 n 和 k,求从 1 到 n 这 n 个正整数的十进制表示中 k 出现的次数。
输入格式
共一行,包含两个整数 n 和 k。
输出格式
输出一个整数,表示答案。
数据范围
1≤n≤106,
1≤k≤9
样例
输入样例:
12 1
输出样例:
5
(暴力枚举) $O(n)$
C++ 代码
#include <cstring>
#include <iostream>
using namespace std;
int n , k;
int main()
{
cin >> n >>k;
int cnt = 0;
for(int i = 1; i <= n; i++)
{
int t = i;
while(t > 0)
{
if(t % 10 == k)cnt++;
t /= 10;
}
}
cout<<cnt;
return 0;
}