Problem Description
杭州口如那些傻乎乎粘嗒嗒的人工62(音:laoer)。
杭州交通管理局时会扩张一些之士车牌照,新近出来一个吓信息,以后上牌照,不再含有不吉祥的数字了,这样一来,就好解个别的士司机和乘客的心理障碍,更安全地服务民众。
匪红的数字也具含有4还是62的号。例如:
62315 73418 88914
且属不吉利号码。但是,61152虽说涵盖6同2,但非是62连号,所以未属无红数字之列。
您的任务是,对于每次让闹的一个牌照区间号,推断出交管局今次又如实际给小辆新的士车上牌照了。
Input
输入的都是整数对n、m(0<n≤m<1000000),如果遇都是0的整数对准,则输入完。
Output
于每个整数针对性,输出一个请勿包含不吉祥数字的统计个数,该数值占一行位置。
Sample Input
1 100 0 0
Sample Output
80
Source
迎新学期——超级Easy版热身赛
解题思路:直接暴力计算(网上还发生个用dp的而参看:http://blog.csdn.net/linraise/article/details/12282901)
1 #include<iostream>
2 #include<string.h>
3 using namespace std;
4 int sum[1000003];
5 bool ok(int n){
6 while(n){
7 if(n%10==4||n%100==62)return 0;
8 n=n/10;
9 }
10 return 1;
11 }
12 int main(){
13 memset(sum,0,sizeof(sum));
14 for(int i=1;i<1000002;i++){
15 sum[i]=sum[i-1]+ok(i);
16 }
17 int n,m;
18 while(cin>>n>>m){
19 if(m==n && m==0)break;
20 cout<<sum[m]-sum[n]+ok(n)<<'\n';
21 }return 0;
22 }