M.Writing Books
签到
题目大意
给定一个正整数 n n n ,求 1 1 1 ~ n n n 共有多少位数字
解题思路
1 1 1 ~ 9 9 9 共 9 × 1 0 0 × 1 9\times 10^0 \times 1 9×100×1 位;
10 10 10 ~ 99 99 99 共 9 × 1 0 1 × 2 9\times 10^1 \times 2 9×101×2 位;
以此类推,求和即可
参考代码
参考代码为已AC代码主干,其中部分功能需读者自行实现
void solve()
{ll n;cin >> n;ll a=1,x=9,cnt=0;while(n>=x) {n-=x;cnt+=a*x;x*=10;a++;}cnt+=a*n;cout << cnt << endl;
}