function n2text(n) {
const texts = {
0: 'нулевая',
1: 'первая',
2: 'вторая',
3: 'третья',
4: 'четвертая',
5: 'пятая',
6: 'шестая',
7: 'седьмая',
8: 'восьмая',
9: 'девятая',
10: 'десятая',
11: 'одиннадцатая',
12: 'двенадцатая',
13: 'тринадцатая',
14: 'четырнадцатая',
15: 'пятнадцатая',
16: 'шестнадцатая',
17: 'семнадцатая',
18: 'восемнадцатая',
19: 'девятнадцатая',
20: 'двадцатая',
30: 'тридцатая',
40: 'сороковая',
50: 'пятидесятая',
60: 'шестидесятая',
70: 'семидесятая',
80: 'восьмидесятая',
90: 'девяностая',
100: 'сотая',
};
const texts0 = {
20: 'двадцать',
30: 'тридцать',
40: 'сорок',
50: 'пятьдесят',
60: 'шестьдесят',
70: 'семьдесят',
80: 'восемьдесят',
90: 'девяносто',
100: 'сто',
};
if (n > 200) {
return '';
}
let str = [];
if (n > 100) {
str.push(texts0[100]);
n = n % 100;
}
if (n === 100) {
return texts[100];
}
if (n < 20 && n > 0) {
str.push(texts[n]);
} else {
if (n % 10 === 0) {
str.push(texts[n]);
} else {
str.push(texts0[Math.floor(n / 10) * 10]);
str.push(texts[n % 10]);
}
}
str = str.join(' ');
return str[0].toUpperCase() + str.substr(1);
}