[NOIP2013 普及组] 计数问题
题目背景
NOIP2013 普及组 T1
题目描述
试计算在区间 1 1 1 到 n n n 的所有整数中,数字 x x x( 0 ≤ x ≤ 9 0\le x\le9 0≤x≤9)共出现了多少次?例如,在 1 1 1 到 11 11 11 中,即在 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 1,2,3,4,5,6,7,8,9,10,11 1,2,3,4,5,6,7,8,9,10,11 中,数字 1 1 1 出现了 4 4 4 次。
输入格式
2 2 2 个整数 n , x n,x n,x,之间用一个空格隔开。
输出格式
1 1 1 个整数,表示 x x x 出现的次数。
输入输出样例
输入 #1
11 1
输出 #1
4
提示
对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 1 0 6 1\le n\le 10^6 1≤n≤106, 0 ≤ x ≤ 9 0\le x \le 9 0≤x≤9。
1.思路解析
直接枚举每一个数并统计就行了。
2.AC代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x,ans=0;
cin>>n>>x;
for(int i=1;i<=n;i++)//枚举[1,n]
{
int t=i,num;
while(t)
{
num=t%10;
if(num==x)ans++;//这一位数字是x
t/=10;
}
}
cout<<ans;
return 0;
}
喜欢就订阅此专辑吧!
【蓝胖子编程教育简介】
蓝胖子编程教育,是一家面向青少年的编程教育平台。平台为全国青少年提供最专业的编程教育服务,包括提供最新最详细的编程相关资讯、最专业的竞赛指导、最合理的课程规划等。本平台利用趣味性和互动性强的教学方式,旨在激发孩子们对编程的兴趣,培养他们的逻辑思维能力和创造力,让孩子们在轻松愉快的氛围中掌握编程知识,为未来科技人才的培养奠定坚实基础。
欢迎扫码关注蓝胖子编程教育