杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如:
62315 73418 88914 都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。 你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。 (题目引用自HDOJ)
或许你已经用数位DP做过这个题(不知道数位DP?没关系,反正我不是用数位DP做的,还有更简便的方法),开动你的大脑吧,当你想出来的时候,你会体会到这个题是有多么水。
2015工作组
输入格式:
输入整数对n、m(0<n≤m<1000000)
为了降低题目的复杂度,这里输入只用一组。
输出格式:
输出[m,n]区间内一共有多少个数不含有不吉利数字
输入样例:
1 100
输出样例:
80
主要用到了sprintf,由于该题很典型,所以码上留念,题不是很难,关键是思路一定要清晰,还有就是,一定要养成打代码时加注释的好习惯
#include<stdio.h>
int main()
{
int m,n,i,j;
int l,N=0;
scanf("%d%d",&m,&n);
char a[7];
for(i=m;i<=n;i++)
{
l=sprintf(a,"%d",i);
for(j=0;j<l;j++)
{
if((a[j]=='6'&&a[j+1]=='2')||a[j]=='4')
{
N++;//不吉利数字的总个数
break;//必须结束,否则会重复计数,例如44
}
}
}
// printf("%d\n",N);
printf("%d",n-m+1-N);
}
2018/4/19 13:08:10 | 答案正确 | 10 | 7-8 | C (gcc) | 204 ms |
测试点 | 结果 | 耗时 | 内存 |
---|---|---|---|
0 | 答案正确 | 2 ms | 128KB |
1 | 答案正确 | 2 ms | 128KB |
2 | 答案正确 | 204 ms | 212KB |