1 7
2
ACM_張書軍
思路:和丑數思路一樣 用前面的數便利出後面的數
打個表
然後判斷l,r在表中的位置,統計unlucky numbers就行了
#include#include #include #include using namespace std; long long a[1000000]; int c; void init() { c=0; a[c++]=1; a[c++]=7; int k=0; while(a[c-1]<1e18) { a[c++]=a[k]*10+1; a[c++]=a[k]*10+7; k++; } } int main() { init(); long long l,r; while(cin>>l>>r) { int L=0,R=0; for(int i=0; i r) { R=i; break; } } if(a[L]==l||l==0) L--; printf("%d\n",R-L-1); } }