数字统计
背景
来自 NOIP2010 普及组
第一题
描述
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次。
格式
输入格式
输入共一行,为两个正整数L和R,之间用一个空格隔开。
输出格式
输出共1行,表示数字2出现的次数。
样例1
样例输入1
2 22
样例输出1
6
样例2
样例输入2
2 100
样例输出2
20
限制
1s
提示
【数据范围】
1≤L≤R≤10000
====很简单哦!====
分析:开始用了一个while()计算,出了点差错,后来发现只需要用几个if语句判断一下就好了,复杂度为O(r-l)=O(n)
下面给出AC代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int l,r,ans=;
cin>>l>>r;
for(int i=l;i<=r;i++)
{
if((i/)%==)
ans++;
if((i/)%==)
ans++;
if((i/)%==)
ans++;
if((i/)%==)
ans++;
if((i/)%==)
ans++;
}
cout<<ans<<endl;
return ;
}