送分了QAQ

xiaoxiao2021-02-28  42

时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld

题目描述 

杭州人称傻乎乎的人为62,而嘟嘟家这里没有这样的习俗。 相比62,他那里的人更加讨厌数字38,当然啦,还有4这个 数字!所以啊,嘟嘟不点都不想见到包含38或者4的数字。 每次给出一个区间[n,m],你能找到所有令人讨厌的数字吗?

输入描述:

多组输入输出;输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。

输出描述:

对于每次的输入输出全部令人讨厌的数的个数 示例1

输入

1 100 0 0

输出

20 #include<bits/stdc++.h> 2 using namespace std; 3 #define M 1000000+9 4 long long n,m,i,j,s,t,b[1000006]; 5 int main() 6 { 7 b[0]=0; 8 for(i=1;i<=M;i++)///先把所有的数字找出来,否则超时; 9 { 10 t=i; 11 int a[10],k=0,f=1; 12 do 13 {//printf(" df%d\n",f); 14 a[k++]=t%10; 15 if(a[k-1]==4) 16 { 17 f=0; break; 18 } 19 if(a[k-1]==3&&a[k-2]==8) 20 { 21 f=0; break; 22 } 23 t/=10; 24 }while(t); 25 26 if(f==0) 27 b[i]=(b[i-1]+1); 28 else 29 b[i]=b[i-1]; 30 } 31 // for(i=1;i<=40;i++) 32 // printf("%lld \n",b[i]); 33 while(~scanf("%lld%lld",&n,&m)) 34 { 35 if(n==0&&m==0) 36 break; 37 s=0; 38 s=b[m]-b[n-1];///注意:不是b【m】-b【n】; 39 //printf("%lld %lld\n",b[n-1],b[m]); 40 41 printf("%lld\n",s); 42 } 43 return 0; 44 }
转载请注明原文地址: https://www.6miu.com/read-1700031.html

最新回复(0)