给定两个正整数 nn 和 kk,求从 11 到 nn 这 nn 个正整数的十进制表示中 kk 出现的次数。
输入格式
共一行,包含两个整数 nn 和 kk。
输出格式
输出一个整数,表示答案。
数据范围
1≤n≤1061≤n≤106,
1≤k≤91≤k≤9
输入样例:
12 1
输出样例:
5
样例解释
从 11 到 1212 这些整数中包含 11 的数字有 1,10,11,121,10,11,12,一共出现了 55 次 11。
难度:简单 |
时/空限制:1s / 64MB |
总通过数:1940 |
总尝试数:2308 |
来源:清华大学考研机试题 |
算法标签 |
AcWing 3400. 统计次数(五种解法) - AcWing
//自我感觉我的相对简单和容易理解。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,x=0,i;string s;
cin>>n>>k;
for(i=1;i<=n;i++)s+=to_string(i);
for(i=0;i<s.size();i++){
if(s[i]-'0'==k)x++;
}cout<<x;
return 0;
}