hdu2089--不要62

129 阅读1分钟

中文题就不说题意了,直接说思路,第一次打表,把所有一到一百万每个数字打了一遍,直接相减就可以得出结果了。

#include<iostream>
#include<cstring>

using namespace std;
int a[1001000];
int judge(int nu){
	while(nu>0){
	if(nu%100==62||nu%10==4)
		return 0;
		nu=nu/10;
	}
	return 1;
}


 
int main(){
	memset(a,0,sizeof(a));
	for(int i=1;i<1001000;i++)
	if(judge(i)) a[i]=a[i-1]+1;
	else a[i]=a[i-1];
	
	int m,n,sum;
	while(cin>>m>>n&&m&&n){
	sum=a[n]-a[m]+judge(m);
	cout<<sum<<endl;
	}
	return 0;
} 


\