UniLecs #159. CAPTCHA

UniLecs #159. CAPTCHA

UniLecs

Задача: для разработки кастомной генерации Капчи (CAPTCHA) вам необходимо написать алгоритм, который по заданному натуральному числу будет генерировать это число прописью на русском языке.

Входные данные: натуральное число от 1 до 9999.

Вывод: число прописью.

Пример:

1. 68 = "шестьдесят восемь"

2. 8462 = "восемь тысяч четыреста шестьдесят два"

Идея: разбиваем число на разряды, при наших ограничениях на входные данные их будет всего 4. Дальше пишем отдельную функцию для каждого из разрядов. Единственное нужно помнить, что числа от 10 до 19 пишутся одним словом, т.е. 15 - пятнадцать, 19 - девятнадцать, но 21 - двадцать один. Поэтому при обработке 2го разряда нужно учесть этот момент.

Реализация:

C#
C#
C#

https://gist.github.com/unilecs/d8851142fb6f6d8b8514a3e6d22e51ee

Play-test: https://dotnetfiddle.net/asC14F


Решения от подписчиков:

  1. Антон, подробнейший вариант на языке Rust:

https://gist.github.com/AnthonyMikh/d2a3b47b1dbeb4849eff6c415bdeea92


2. Евгений, подробный вариант на C++

https://gist.github.com/jin-x/4caa3955348692654c9bf342803b53e6

Play-test: https://repl.it/@jin_x/UniLecs-159-inttoruscpp

Report Page