题意:
If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there are 3 + 3 + 5 + 4 + 4 = 19 letters used in total.
If all the numbers from 1 to 1000 (one thousand) inclusive were written out in words, how many letters would be used?
问1 - 1000 有多少个字母 其中空格和 - 不算
解题思路:
直接从中分析出每个单词出现的次数,求和
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 2500;
int main() {
int ans = 11; // 1000
ans += (3 + 3 + 5 + 4 + 4 + 3 + 5 + 5 + 4) * (9 * 10 + 100); // 0-9出现的次数
ans += (3 + 6 + 6 + 8 + 8 + 7 + 7 + 9 + 8 + 8) * 10; // 10 - 19出现的次数
ans += 3 * 891; // and 出现的次数
ans += (6 + 6 + 5 + 5 + 5 + 7 + 6 + 6) * 10 * 10; // 20 - 90 出现的次数
ans += 900 * 7; // hundred 出现的次数
cout << ans << endl;
return 0;
}