Число из английских слов
Задача по программированию с проверкой онлайн
- Сложность
- Сложная
- Языки
- Python
- JavaScript
- TypeScript
- Java
- Go
- Темы
- Разбор и проверка данных
- Строки
- Математика
Каноническая запись целого числа от 0 до 999 999 999 999 999 английскими словами строится так. Число 0 — это zero. Иначе число делится на группы по три цифры справа; каждая ненулевая группа записывается словами и за ней идёт слово разряда: trillion, billion, million, thousand, а у последней группы слова разряда нет. Группы идут от старшей к младшей, нулевые группы пропускаются. Группа от 1 до 999: если её сотни h ненулевые, сначала идут слово цифры h и hundred; затем, если остаток r ненулевой, — запись r: для 1–19 одно слово one … nineteen, для 20–99 слово десятков twenty … ninety, а при ненулевых единицах к нему через дефис добавляется цифра (forty-two). Слова разделены ровно одним пробелом, без пробелов в начале и в конце, всё строчными буквами, без and.
Дана строка до 200 символов. Если она — каноническая запись какого-то числа, верните это число, иначе верните -1.
Пример: "two million forty-five thousand one hundred seven" → 2045107; "one hundred and five" → -1.
Источник: задача CodeShare