设x∈[1,n],当x不包含最高位时,9+90*2+900*3……+最多位的位数和。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int mod=1000000000;
int main()
{
char s[15];
while(cin>>s)
{
int len=strlen(s);
ll n=0;
for(int i=0;i<len;i++)
n=n*10+s[i]-'0';
ll mo=1;
for(int i=1;i<len;i++)
mo*=10;
ll a=(n-mo+1)*len,b=0,k=9;
for(int i=0;i<len-1;i++)
{
b+=k*(i+1);
k*=10;
}
cout<<a+b<<endl;
}
return 0;
}