Yêu cầu của bài toán: Viết các số nguyên liên tiếp từ 1 đến n (n <= 106) Hãy cho biết tổng số có bao nhiêu chữ số trong dãy này?
Ví dụ: n = 10. Viết liên tiếp ta được dãy số: 12345678910. Tổng số chữ số đã viết là: 11
Code tham khảo:
#include <iostream>
using namespace std;
int dem(long so) {
int T = 0;
while (so != 0) {
so /= 10;
T++;
}
return T;
}
int main() {
long a;
freopen("DCOUNT.INP", "r", stdin);
freopen("DCOUNT.OUT", "w", stdout);
cin >> a;
int T = 0;
for (int i = 1; i <= a; i++) {
T += dem(i);
}
cout << T;
return 0;
}