找找规律就可以
#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f #define ll __int64 using namespace std; ll a[12]={1LL,10LL,100LL,1000LL,10000LL,100000LL,1000000LL,10000000LL,100000000LL,1000000000LL,10000000000LL,100000000000LL}; ll cal(ll n) { ll ans=0,left,tmp; for(int i=1;i<12;i++) { left=n/a[i]-1; ans+=left*a[i-1]; tmp=(n%a[i]-n%a[i-1])/a[i-1]; if(tmp>0) ans+=a[i-1]; else if(tmp==0) ans+=n%a[i-1]+1; if(n =0) { printf("%I64d\n",cal(m)-cal(n-1)); } return 0; }