车牌号
里面没有62和4
主要要点:
首先循环计算然后存储
以空间换时间,不然会超时
第二,n-m 用a[m]-a[n-1]而不是a[m]-a[n]
#include <iostream>
#include<iomanip>
#include <string>
#include<math.h>
using namespace std;
int a[1000006];
char t[10];
int main(){
int n,m;
a[0]=0;
for(int i=1;i<1000006;i++){
int flag=1;
memset(t,0,sizeof(t));
itoa(i,t,10);
for(int j=0;j<strlen(t);j++){
if(t[j]=='4'||(t[j]=='6'&&t[j+1]=='2')){
flag=0;
break;
}
}
if(flag){a[i]=a[i-1]+1;}
else{a[i]=a[i-1];}
}
while(cin>>n>>m){
if(n==0&&m==0){break;}
cout<<a[m]-a[n-1]<<endl;
}
return 0;
}
本文介绍了一种用于筛选特定车牌号码的算法实现。该算法通过循环计算并存储满足条件的车牌号,采用空间换时间策略避免超时问题。具体而言,算法排除了包含数字4和连续出现的62的车牌号。
1463

被折叠的 条评论
为什么被折叠?



