Four is the number of letters in the ...: Difference between revisions
Four is the number of letters in the ... (view source)
Revision as of 07:52, 11 June 2020
, 3 years agoPerformance improvement
(Added C solution) |
m (Performance improvement) |
||
Line 364:
}
const named_number& get_named_number(uint64_t n) {
constexpr size_t names_len = std::size(named_numbers);
for (size_t i = 0; i + 1 < names_len; ++i) {
return named_numbers[i];
}
return named_numbers[names_len - 1];
}
size_t append_number_name(std::vector<std::string>& result,
size_t count = 0;
if (n < 20) {
result.push_back(get_name(small[n], ordinal));
}
else if (n < 100) {
if (n % 10 == 0) {
Line 381 ⟶ 388:
result.push_back(name);
}
} else {
count += append_number_name(result, n/p, false);
▲ if (i == names_len || n < named_numbers[i].number) {
if (n
result.push_back(get_name(num,
count +=
▲ }
▲ break;
▲ }
}
}
return
}
Line 421 ⟶ 426:
}
for (size_t i = 1; count > n; ++i) {
result.push_back("in");
▲ append(v, number_name(count_letters(result[i]), false));
▲ n += v.size();
}
return result;
|