统计次数
题目描述
题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb给定两个正整数 n 和 k(1≤k≤9),求从 1 到 n 这 n 个正整数的十进制表示中 k 出现的次数。
输入输出格式
输入描述:
从标准输入读入数据。 输入的第一行包含两个正整数 n 和 k,保证 n≤10^6 和 1≤k≤9。
输出描述:
输出到标准输出。 输出一个整数,表示答案。
输入输出样例
输入样例#:
复制
12 1
输出样例#:
复制
5
提示
从 1 到 12 这些整数中包含 1 的数字有 1,10,11,12,一共出现了 5 次 1。
题目来源
清华大学2020年机试题
简单模拟
分析
一开始以为我写错了,看了看他的测试数据才发现是连续多组输入。
代码
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n;
long long res = 0;
int k;
int main()
{
while(cin >> n >> k)
{
res = 0;
for(int i = 1; i <= n; i++)
{
int b = i;
while(b)
{
if(b%10 == k) res++;
b /= 10;
}
}
printf("%lld\n", res);
}
return 0;
}