bool类型的内存占用要比int的小!!! #include<stdio.h> #define MAX 1000001 int isjJiLi(int num){ while(num){ if(num%10==4 || num%100==62) return 0; num/=10; } return 1; } int main() { int n,m,i,j,k,Jili; bool a[MAX]; for(i=1;i<MAX;i++) if(isjJiLi(i)) a[i]=1; while(scanf("%d%d",&n,&m)){ if(n==0 && m==0) break; Jili=0; while(n<=m) if(a[n++]) Jili++; printf("%d\n",Jili); } return 0; }