杭州人稱那些傻乎乎粘嗒嗒的人爲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 |