不要62Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 56640 Accepted Submission(s): 22017 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。
Input 输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。
Output 对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。
Sample Input
1 100 0 0
Sample Output
80
Author qianneng
Source
|
第一种;暴力打表,搜索子字符串;(为了了解下stringstream的用法);
#include<iostream>
#include<cstring>
#include<sstream>
using namespace std;
int vis[1000200];
void List(){
fill(vis,vis+1000000,1); //先全部标记为1
string a;
string s="4",t="62";
stringstream stream;
vis[4]=0;
for(int i=13;i<=1000000;i++){ //从13开始打表
stream<<i;
stream>>a; //数字转string,在字符串找到了4或62就标记vis为0
if(a.find(s)!=string::npos||a.find(t)!=string::npos){
vis[i]=0;
}
stream.clear(); //切记要清空流
}
}
int main(){
int l,r;
List();
while(cin>>l>>r&&(l+r)){
int ans=0;
for(int i=l;i<=r;i++){
ans+=vis[i];
}
cout<<ans<<endl;
}
return 0;
}
第二种:待补充~~~~